<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: geometry/include/pcl/geometry/mesh_base.h 源文件</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Doxygen
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('mesh__base_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">mesh_base.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Software License Agreement (BSD License)</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Point Cloud Library (PCL) - www.pointclouds.org</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * Copyright (c) 2009-2012, Willow Garage, Inc.</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * Copyright (c) 2012-, Open Perception, Inc.</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Redistribution and use in source and binary forms, with or without</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * modification, are permitted provided that the following conditions</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * are met:</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *  * Redistributions of source code must retain the above copyright</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *    notice, this list of conditions and the following disclaimer.</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *  * Redistributions in binary form must reproduce the above</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *    copyright notice, this list of conditions and the following</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> *    disclaimer in the documentation and/or other materials provided</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> *    with the distribution.</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> *  * Neither the name of the copyright holder(s) nor the names of its</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> *    contributors may be used to endorse or promote products derived</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> *    from this software without specific prior written permission.</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment"> * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment"> * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment"> * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment"> * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment"> * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment"> * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment"> * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</span></div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment"> * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment"> * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment"> * $Id$</span></div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160; </div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#ifndef PCL_GEOMETRY_MESH_BASE_H</span></div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define PCL_GEOMETRY_MESH_BASE_H</span></div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160; </div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#include &lt;pcl/geometry/boost.h&gt;</span></div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#include &lt;pcl/geometry/eigen.h&gt;</span></div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#include &lt;pcl/geometry/mesh_circulators.h&gt;</span></div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#include &lt;pcl/geometry/mesh_indices.h&gt;</span></div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#include &lt;pcl/geometry/mesh_elements.h&gt;</span></div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#include &lt;pcl/geometry/mesh_traits.h&gt;</span></div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#include &lt;pcl/point_cloud.h&gt;</span></div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; </div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">// Global variables used during testing</span></div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#ifdef PCL_GEOMETRY_MESH_BASE_TEST_DELETE_FACE_MANIFOLD_2</span></div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">namespace </span>pcl</div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;{</div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <span class="keyword">namespace </span>geometry</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  {</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keywordtype">bool</span> g_pcl_geometry_mesh_base_test_delete_face_manifold_2_success;</div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  } <span class="comment">// End namespace geometry</span></div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;} <span class="comment">// End namespace pcl</span></div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">// Forward declarations</span></div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">namespace </span>pcl</div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;{</div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;  <span class="keyword">namespace </span>geometry</div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  {</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class</span> MeshT&gt;</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <span class="keyword">class </span>MeshIO;</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  } <span class="comment">// End namespace geometry</span></div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;} <span class="comment">// End namespace pcl</span></div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160; </div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">// MeshBase</span></div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="keyword">namespace </span>pcl</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;{</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  <span class="keyword">namespace </span>geometry</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  {</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class</span> DerivedT, <span class="keyword">class</span> MeshTraitsT, <span class="keyword">class</span> MeshTagT&gt;</div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html">   98</a></span>&#160;    <span class="keyword">class </span><a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html">MeshBase</a></div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    {</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      <span class="keyword">public</span>:</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160; </div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html">MeshBase &lt;DerivedT, MeshTraitsT, MeshTagT&gt;</a> <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html">Self</a>;</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;        <span class="keyword">typedef</span> boost::shared_ptr &lt;Self&gt;                   Ptr;</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        <span class="keyword">typedef</span> boost::shared_ptr &lt;const Self&gt;             ConstPtr;</div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160; </div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        <span class="keyword">typedef</span> DerivedT Derived;</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160; </div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        <span class="comment">// These have to be defined in the traits class.</span></div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        <span class="keyword">typedef</span> <span class="keyword">typename</span> MeshTraitsT::VertexData   VertexData;</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;        <span class="keyword">typedef</span> <span class="keyword">typename</span> MeshTraitsT::HalfEdgeData HalfEdgeData;</div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        <span class="keyword">typedef</span> <span class="keyword">typename</span> MeshTraitsT::EdgeData     EdgeData;</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        <span class="keyword">typedef</span> <span class="keyword">typename</span> MeshTraitsT::FaceData     FaceData;</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        <span class="keyword">typedef</span> <span class="keyword">typename</span> MeshTraitsT::IsManifold   IsManifold;</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160; </div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        <span class="comment">// Check if the mesh traits are defined correctly.</span></div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        BOOST_CONCEPT_ASSERT ((boost::Convertible &lt;IsManifold, bool&gt;));</div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160; </div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        <span class="keyword">typedef</span> MeshTagT MeshTag;</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160; </div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        <span class="comment">// Data</span></div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        <span class="keyword">typedef</span> boost::integral_constant &lt;bool, !boost::is_same &lt;VertexData  , pcl::geometry::NoData&gt;::value&gt; HasVertexData;</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        <span class="keyword">typedef</span> boost::integral_constant &lt;bool, !boost::is_same &lt;HalfEdgeData, pcl::geometry::NoData&gt;::value&gt; HasHalfEdgeData;</div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        <span class="keyword">typedef</span> boost::integral_constant &lt;bool, !boost::is_same &lt;EdgeData    , pcl::geometry::NoData&gt;::value&gt; HasEdgeData;</div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        <span class="keyword">typedef</span> boost::integral_constant &lt;bool, !boost::is_same &lt;FaceData    , pcl::geometry::NoData&gt;::value&gt; HasFaceData;</div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160; </div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud &lt;VertexData&gt;</a>   <a class="code" href="classpcl_1_1_point_cloud.html">VertexDataCloud</a>;</div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud &lt;HalfEdgeData&gt;</a> <a class="code" href="classpcl_1_1_point_cloud.html">HalfEdgeDataCloud</a>;</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud &lt;EdgeData&gt;</a>     <a class="code" href="classpcl_1_1_point_cloud.html">EdgeDataCloud</a>;</div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud &lt;FaceData&gt;</a>     <a class="code" href="classpcl_1_1_point_cloud.html">FaceDataCloud</a>;</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160; </div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        <span class="comment">// Indices</span></div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">pcl::geometry::VertexIndex</a>   <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>;</div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">pcl::geometry::HalfEdgeIndex</a> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>;</div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="classpcl_1_1geometry_1_1_edge_index.html">pcl::geometry::EdgeIndex</a>     <a class="code" href="classpcl_1_1geometry_1_1_edge_index.html">EdgeIndex</a>;</div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">pcl::geometry::FaceIndex</a>     <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a>;</div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160; </div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        <span class="keyword">typedef</span> std::vector &lt;VertexIndex&gt;   VertexIndices;</div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;        <span class="keyword">typedef</span> std::vector &lt;HalfEdgeIndex&gt; HalfEdgeIndices;</div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        <span class="keyword">typedef</span> std::vector &lt;EdgeIndex&gt;     EdgeIndices;</div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        <span class="keyword">typedef</span> std::vector &lt;FaceIndex&gt;     FaceIndices;</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160; </div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        <span class="comment">// Circulators</span></div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_around_vertex_circulator.html">pcl::geometry::VertexAroundVertexCirculator           &lt;const Self&gt;</a> <a class="code" href="classpcl_1_1geometry_1_1_vertex_around_vertex_circulator.html">VertexAroundVertexCirculator</a>;</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="classpcl_1_1geometry_1_1_outgoing_half_edge_around_vertex_circulator.html">pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator &lt;const Self&gt;</a> <a class="code" href="classpcl_1_1geometry_1_1_outgoing_half_edge_around_vertex_circulator.html">OutgoingHalfEdgeAroundVertexCirculator</a>;</div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="classpcl_1_1geometry_1_1_incoming_half_edge_around_vertex_circulator.html">pcl::geometry::IncomingHalfEdgeAroundVertexCirculator &lt;const Self&gt;</a> <a class="code" href="classpcl_1_1geometry_1_1_incoming_half_edge_around_vertex_circulator.html">IncomingHalfEdgeAroundVertexCirculator</a>;</div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="classpcl_1_1geometry_1_1_face_around_vertex_circulator.html">pcl::geometry::FaceAroundVertexCirculator             &lt;const Self&gt;</a> <a class="code" href="classpcl_1_1geometry_1_1_face_around_vertex_circulator.html">FaceAroundVertexCirculator</a>;</div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_around_face_circulator.html">pcl::geometry::VertexAroundFaceCirculator             &lt;const Self&gt;</a> <a class="code" href="classpcl_1_1geometry_1_1_vertex_around_face_circulator.html">VertexAroundFaceCirculator</a>;</div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="classpcl_1_1geometry_1_1_inner_half_edge_around_face_circulator.html">pcl::geometry::InnerHalfEdgeAroundFaceCirculator      &lt;const Self&gt;</a> <a class="code" href="classpcl_1_1geometry_1_1_inner_half_edge_around_face_circulator.html">InnerHalfEdgeAroundFaceCirculator</a>;</div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="classpcl_1_1geometry_1_1_outer_half_edge_around_face_circulator.html">pcl::geometry::OuterHalfEdgeAroundFaceCirculator      &lt;const Self&gt;</a> <a class="code" href="classpcl_1_1geometry_1_1_outer_half_edge_around_face_circulator.html">OuterHalfEdgeAroundFaceCirculator</a>;</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="classpcl_1_1geometry_1_1_face_around_face_circulator.html">pcl::geometry::FaceAroundFaceCirculator               &lt;const Self&gt;</a> <a class="code" href="classpcl_1_1geometry_1_1_face_around_face_circulator.html">FaceAroundFaceCirculator</a>;</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160; </div>
<div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a14d9be6a61b0476b46d5435ac615c459">  153</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a14d9be6a61b0476b46d5435ac615c459">MeshBase</a> ()</div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;          : <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae472d8311af5200ab6d7d3347aab9fb1">vertex_data_cloud_</a> (),</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;            <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ac9ed388ef2ab0769901c953146946294">half_edge_data_cloud_</a> (),</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;            <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6cc2e588af6754985ebb958a1835c91">edge_data_cloud_</a> (),</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;            <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a2a0de549a87f8926f4fa2d99d19873a9">face_data_cloud_</a> (),</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;            <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af19892220ae9323428a6544bda84658b">vertices_</a> (),</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;            <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a43f1f694e8cc619c619940e96c55b36d">half_edges_</a> (),</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;            <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8b3dcd0be1230d8cc27ed70a0aaac8d0">faces_</a> (),</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;            <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a> (),</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;            <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a9be3165b6f4a99da9701ebd33169cba5">free_he_</a> (),</div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;            <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8cd15b09cbebf457d9e6886c87704f22">is_new_</a> (),</div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;            <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af37b14f3d563a9bda93403082f26917f">make_adjacent_</a> (),</div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;            <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1b4226400b93828d6313374f2d1f69af">is_boundary_</a> (),</div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;            <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a97f75dffac433d99357930f394968c81">delete_faces_vertex_</a> (),</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;            <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a252af6e45d7db3021acee62ff2558a3a">delete_faces_face_</a> ()</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;        {</div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;        }</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160; </div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        <span class="comment">// addVertex / addFace / deleteVertex / deleteEdge / deleteFace / cleanUp</span></div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a></div>
<div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#aac6156a983fe17684d23c56a17b4c7ff">  180</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aac6156a983fe17684d23c56a17b4c7ff">addVertex</a> (<span class="keyword">const</span> VertexData&amp; vertex_data=VertexData ())</div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;        {</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af19892220ae9323428a6544bda84658b">vertices_</a>.push_back (<a class="code" href="classpcl_1_1geometry_1_1_vertex.html">Vertex</a> ());</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a2f0d60f62c1363856eb9dfe619f87db2">addData</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae472d8311af5200ab6d7d3347aab9fb1">vertex_data_cloud_</a>, vertex_data, HasVertexData ());</div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a> (<span class="keyword">static_cast &lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a52baa83cf38a51bf35ab81a4d2d456c2">sizeVertices</a> () - 1)));</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;        }</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160; </div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;        <span class="keyword">inline</span> FaceIndex</div>
<div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a9405be1d72b2a7bb1ec0bdc5c13c297a">  196</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a9405be1d72b2a7bb1ec0bdc5c13c297a">addFace</a> (<span class="keyword">const</span> VertexIndices&amp; vertices,</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;                 <span class="keyword">const</span> FaceData&amp;      face_data      = FaceData (),</div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;                 <span class="keyword">const</span> EdgeData&amp;      edge_data      = EdgeData (),</div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;                 <span class="keyword">const</span> HalfEdgeData&amp;  half_edge_data = HalfEdgeData ())</div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;        {</div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;          <span class="comment">// NOTE: The derived class has to implement addFaceImpl. If needed it can use the general method addFaceImplBase.</span></div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;          <span class="keywordflow">return</span> (<span class="keyword">static_cast &lt;</span>Derived*<span class="keyword">&gt;</span> (<span class="keyword">this</span>)-&gt;addFaceImpl (vertices, face_data, edge_data, half_edge_data));</div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;        }</div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160; </div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a428be4accd7f51c75d2e889d99205535">  209</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a428be4accd7f51c75d2e889d99205535">deleteVertex</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp; idx_vertex)</div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;        {</div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_vertex));</div>
<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;          <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aa114f7eeceeecdedfefc2d83d53c4f8b">isDeleted</a> (idx_vertex)) <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160; </div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a97f75dffac433d99357930f394968c81">delete_faces_vertex_</a>.clear ();</div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_face_around_vertex_circulator.html">FaceAroundVertexCirculator</a>       circ     = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#acbd873aa1fd360de8a67336854ceb0c0">getFaceAroundVertexCirculator</a> (idx_vertex);</div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;          <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face_around_vertex_circulator.html">FaceAroundVertexCirculator</a> circ_end = circ;</div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;          <span class="keywordflow">do</span></div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;          {</div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;            <span class="keywordflow">if</span> (circ.<a class="code" href="classpcl_1_1geometry_1_1_face_around_vertex_circulator.html#a395359f719c2444e4aaff59560a7b41b">getTargetIndex</a> ().<a class="code" href="classpcl_1_1geometry_1_1_face_index.html#a00ab847d99ddfe50a3c59fb5387532b8">isValid</a> ()) <span class="comment">// Check for boundary.</span></div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;            {</div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;              <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a97f75dffac433d99357930f394968c81">delete_faces_vertex_</a>.push_back (circ.<a class="code" href="classpcl_1_1geometry_1_1_face_around_vertex_circulator.html#a395359f719c2444e4aaff59560a7b41b">getTargetIndex</a> ());</div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;            }</div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;          } <span class="keywordflow">while</span> (++circ!=circ_end);</div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160; </div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;          <span class="keywordflow">for</span> (FaceIndices::const_iterator it = <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a97f75dffac433d99357930f394968c81">delete_faces_vertex_</a>.begin (); it!=<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a97f75dffac433d99357930f394968c81">delete_faces_vertex_</a>.end (); ++it)</div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;          {</div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;            this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a18850a81cabcf16597a2418f67df452c">deleteFace</a> (*it);</div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;          }</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;        }</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160; </div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a4affa8ade9d394034ce299bf7fd95af1">  235</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a4affa8ade9d394034ce299bf7fd95af1">deleteEdge</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he)</div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;        {</div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_he));</div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;          <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aa114f7eeceeecdedfefc2d83d53c4f8b">isDeleted</a> (idx_he)) <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160; </div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> opposite = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1f3e4696e4a6dd299dbe94fd23ffbb37">getOppositeHalfEdgeIndex</a> (idx_he);</div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160; </div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;          <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1318e10020901a4de7eb5bdd947cf669">isBoundary</a> (idx_he))   this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a62b4389cf1d19c7ae829056888651b54">markDeleted</a> (idx_he);</div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;          <span class="keywordflow">else</span>                             this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a18850a81cabcf16597a2418f67df452c">deleteFace</a> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6547b360f64c3fce6ca9af1cfbf77ff">getFaceIndex</a> (idx_he));</div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;          <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1318e10020901a4de7eb5bdd947cf669">isBoundary</a> (opposite)) this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a62b4389cf1d19c7ae829056888651b54">markDeleted</a> (opposite);</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;          <span class="keywordflow">else</span>                             this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a18850a81cabcf16597a2418f67df452c">deleteFace</a> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6547b360f64c3fce6ca9af1cfbf77ff">getFaceIndex</a> (opposite));</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;        }</div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160; </div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a162bb8d66161e125929cd907ce48e710">  252</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a162bb8d66161e125929cd907ce48e710">deleteEdge</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_edge_index.html">EdgeIndex</a>&amp; idx_edge)</div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;        {</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_edge));</div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a4affa8ade9d394034ce299bf7fd95af1">deleteEdge</a> (pcl::geometry::toHalfEdgeIndex (idx_edge));</div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aa114f7eeceeecdedfefc2d83d53c4f8b">isDeleted</a> (pcl::geometry::toHalfEdgeIndex (idx_edge, <span class="keyword">false</span>))); <span class="comment">// Bug in this class!</span></div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;        }</div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160; </div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a18850a81cabcf16597a2418f67df452c">  263</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a18850a81cabcf16597a2418f67df452c">deleteFace</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a>&amp; idx_face)</div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;        {</div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_face));</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;          <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aa114f7eeceeecdedfefc2d83d53c4f8b">isDeleted</a> (idx_face)) <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160; </div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a18850a81cabcf16597a2418f67df452c">deleteFace</a> (idx_face, IsManifold ());</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;        }</div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160; </div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#ad5c51551b9badbbe67526dbcf55a9efc">  275</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ad5c51551b9badbbe67526dbcf55a9efc">cleanUp</a> ()</div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;        {</div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;          <span class="comment">// Copy the non-deleted mesh elements and store the index to their new position</span></div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;          <span class="keyword">const</span> VertexIndices new_vertex_indices =</div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;              this-&gt;remove &lt;Vertices, VertexDataCloud, VertexIndices, HasVertexData&gt;</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;              (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af19892220ae9323428a6544bda84658b">vertices_</a>, <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae472d8311af5200ab6d7d3347aab9fb1">vertex_data_cloud_</a>);</div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;          <span class="keyword">const</span> HalfEdgeIndices new_half_edge_indices =</div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;              this-&gt;remove &lt;HalfEdges, HalfEdgeDataCloud, HalfEdgeIndices, HasHalfEdgeData&gt;</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;              (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a43f1f694e8cc619c619940e96c55b36d">half_edges_</a>, <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ac9ed388ef2ab0769901c953146946294">half_edge_data_cloud_</a>);</div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;          <span class="keyword">const</span> FaceIndices new_face_indices =</div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;              this-&gt;remove &lt;Faces, FaceDataCloud, FaceIndices, HasFaceData&gt;</div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;              (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8b3dcd0be1230d8cc27ed70a0aaac8d0">faces_</a>, <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a2a0de549a87f8926f4fa2d99d19873a9">face_data_cloud_</a>);</div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160; </div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;          <span class="comment">// Remove deleted edge data</span></div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;          <span class="keywordflow">if</span> (HasEdgeData::value)</div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;          {</div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;            <span class="keyword">typename</span> EdgeDataCloud::const_iterator it_ed_old = <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6cc2e588af6754985ebb958a1835c91">edge_data_cloud_</a>.begin ();</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;            <span class="keyword">typename</span> EdgeDataCloud::iterator       it_ed_new = <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6cc2e588af6754985ebb958a1835c91">edge_data_cloud_</a>.begin ();</div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160; </div>
<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;            HalfEdgeIndices::const_iterator it_ind     = new_half_edge_indices.begin ();</div>
<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;            HalfEdgeIndices::const_iterator it_ind_end = new_half_edge_indices.end ();</div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160; </div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;            <span class="keywordflow">for</span> (; it_ind!=it_ind_end; it_ind+=2, ++it_ed_old)</div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;            {</div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;              <span class="keywordflow">if</span> (it_ind-&gt;isValid ())</div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;              {</div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;                *it_ed_new++ = *it_ed_old;</div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;              }</div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;            }</div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;            <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6cc2e588af6754985ebb958a1835c91">edge_data_cloud_</a>.<a class="code" href="classpcl_1_1_point_cloud.html#a2d60b6927b31ef89cd3b97e8173ea4aa">resize</a> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a479a1fb135090564e36a7ed69560c89a">sizeEdges</a> ());</div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;          }</div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160; </div>
<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;          <span class="comment">// Adjust the indices</span></div>
<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;          <span class="keywordflow">for</span> (VertexIterator it = <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af19892220ae9323428a6544bda84658b">vertices_</a>.begin (); it!=<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af19892220ae9323428a6544bda84658b">vertices_</a>.end (); ++it)</div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;          {</div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;            <span class="keywordflow">if</span> (it-&gt;idx_outgoing_half_edge_.isValid ())</div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;            {</div>
<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;              it-&gt;idx_outgoing_half_edge_ = new_half_edge_indices [it-&gt;idx_outgoing_half_edge_.get ()];</div>
<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;            }</div>
<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;          }</div>
<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160; </div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;          <span class="keywordflow">for</span> (HalfEdgeIterator it = <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a43f1f694e8cc619c619940e96c55b36d">half_edges_</a>.begin (); it!=<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a43f1f694e8cc619c619940e96c55b36d">half_edges_</a>.end (); ++it)</div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;          {</div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;            it-&gt;idx_terminating_vertex_ = new_vertex_indices    [it-&gt;idx_terminating_vertex_.get ()];</div>
<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;            it-&gt;idx_next_half_edge_     = new_half_edge_indices [it-&gt;idx_next_half_edge_.get ()];</div>
<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;            it-&gt;idx_prev_half_edge_     = new_half_edge_indices [it-&gt;idx_prev_half_edge_.get ()];</div>
<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;            <span class="keywordflow">if</span> (it-&gt;idx_face_.isValid ())</div>
<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;            {</div>
<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;              it-&gt;idx_face_ = new_face_indices [it-&gt;idx_face_.get ()];</div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;            }</div>
<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;          }</div>
<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160; </div>
<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;          <span class="keywordflow">for</span> (FaceIterator it = <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8b3dcd0be1230d8cc27ed70a0aaac8d0">faces_</a>.begin (); it!=<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8b3dcd0be1230d8cc27ed70a0aaac8d0">faces_</a>.end (); ++it)</div>
<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;          {</div>
<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;            it-&gt;idx_inner_half_edge_ = new_half_edge_indices [it-&gt;idx_inner_half_edge_.get ()];</div>
<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;          }</div>
<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;        }</div>
<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160; </div>
<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;        <span class="comment">// Vertex connectivity</span></div>
<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a></div>
<div class="line"><a name="l00339"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#aa272421af280455cc40159a9726053a7">  339</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aa272421af280455cc40159a9726053a7">getOutgoingHalfEdgeIndex</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp; idx_vertex)<span class="keyword"> const</span></div>
<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_vertex));</div>
<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;          <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a949065f206a49428ebc1169f39edab83">getVertex</a> (idx_vertex).idx_outgoing_half_edge_);</div>
<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;        }</div>
<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160; </div>
<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a></div>
<div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#af963308f6ccc1e52f02ffa7aec2c1242">  347</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af963308f6ccc1e52f02ffa7aec2c1242">getIncomingHalfEdgeIndex</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp; idx_vertex)<span class="keyword"> const</span></div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_vertex));</div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;          <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1f3e4696e4a6dd299dbe94fd23ffbb37">getOppositeHalfEdgeIndex</a> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aa272421af280455cc40159a9726053a7">getOutgoingHalfEdgeIndex</a> (idx_vertex)));</div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;        }</div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160; </div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;        <span class="comment">// Half-edge connectivity</span></div>
<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a></div>
<div class="line"><a name="l00359"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#ace722a9209cf91e0f4a1be62ed9ace8d">  359</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace722a9209cf91e0f4a1be62ed9ace8d">getTerminatingVertexIndex</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_half_edge)<span class="keyword"> const</span></div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_half_edge));</div>
<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;          <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#afb6751c957f49de4295d345d724ce88c">getHalfEdge</a> (idx_half_edge).idx_terminating_vertex_);</div>
<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;        }</div>
<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160; </div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a></div>
<div class="line"><a name="l00367"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a495b6156425295d926afdbcc4e34fc30">  367</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a495b6156425295d926afdbcc4e34fc30">getOriginatingVertexIndex</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_half_edge)<span class="keyword"> const</span></div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_half_edge));</div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;          <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace722a9209cf91e0f4a1be62ed9ace8d">getTerminatingVertexIndex</a> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1f3e4696e4a6dd299dbe94fd23ffbb37">getOppositeHalfEdgeIndex</a> (idx_half_edge)));</div>
<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;        }</div>
<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160; </div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a></div>
<div class="line"><a name="l00375"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a1f3e4696e4a6dd299dbe94fd23ffbb37">  375</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1f3e4696e4a6dd299dbe94fd23ffbb37">getOppositeHalfEdgeIndex</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_half_edge)<span class="keyword"> const</span></div>
<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_half_edge));</div>
<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;          <span class="comment">// Check if the index is even or odd and return the other index.</span></div>
<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> (idx_half_edge.<a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html#a79cf05ebdff5009f3b8fa62707309cb7">get</a> () &amp; 1 ? idx_half_edge.<a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html#a79cf05ebdff5009f3b8fa62707309cb7">get</a> () - 1 : idx_half_edge.<a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html#a79cf05ebdff5009f3b8fa62707309cb7">get</a> () + 1));</div>
<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;        }</div>
<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160; </div>
<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a></div>
<div class="line"><a name="l00384"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a06dfbe1db8d1f9c24eff51ebd4852652">  384</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a06dfbe1db8d1f9c24eff51ebd4852652">getNextHalfEdgeIndex</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_half_edge)<span class="keyword"> const</span></div>
<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_half_edge));</div>
<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;          <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#afb6751c957f49de4295d345d724ce88c">getHalfEdge</a> (idx_half_edge).idx_next_half_edge_);</div>
<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;        }</div>
<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160; </div>
<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a></div>
<div class="line"><a name="l00392"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a58255271906702d47fcbe55d6f117be1">  392</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a58255271906702d47fcbe55d6f117be1">getPrevHalfEdgeIndex</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_half_edge)<span class="keyword"> const</span></div>
<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_half_edge));</div>
<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;          <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#afb6751c957f49de4295d345d724ce88c">getHalfEdge</a> (idx_half_edge).idx_prev_half_edge_);</div>
<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;        }</div>
<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160; </div>
<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a></div>
<div class="line"><a name="l00400"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6547b360f64c3fce6ca9af1cfbf77ff">  400</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6547b360f64c3fce6ca9af1cfbf77ff">getFaceIndex</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_half_edge)<span class="keyword"> const</span></div>
<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_half_edge));</div>
<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;          <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#afb6751c957f49de4295d345d724ce88c">getHalfEdge</a> (idx_half_edge).idx_face_);</div>
<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;        }</div>
<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160; </div>
<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a></div>
<div class="line"><a name="l00408"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#abcb2b4319b20191c7626bca0c4bab147">  408</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#abcb2b4319b20191c7626bca0c4bab147">getOppositeFaceIndex</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_half_edge)<span class="keyword"> const</span></div>
<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_half_edge));</div>
<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;          <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6547b360f64c3fce6ca9af1cfbf77ff">getFaceIndex</a> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1f3e4696e4a6dd299dbe94fd23ffbb37">getOppositeHalfEdgeIndex</a> (idx_half_edge)));</div>
<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;        }</div>
<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160; </div>
<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;        <span class="comment">// Face connectivity</span></div>
<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a></div>
<div class="line"><a name="l00420"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a558324489cd62f54825fedd6f228fcc0">  420</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a558324489cd62f54825fedd6f228fcc0">getInnerHalfEdgeIndex</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a>&amp; idx_face)<span class="keyword"> const</span></div>
<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_face));</div>
<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;          <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#afcb173f4e9c97479f64a351d9fab57d8">getFace</a> (idx_face).idx_inner_half_edge_);</div>
<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;        }</div>
<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160; </div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a></div>
<div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a1f508f37008a35cb0a75e031f96cc436">  428</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1f508f37008a35cb0a75e031f96cc436">getOuterHalfEdgeIndex</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a>&amp; idx_face)<span class="keyword"> const</span></div>
<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_face));</div>
<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;          <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1f3e4696e4a6dd299dbe94fd23ffbb37">getOppositeHalfEdgeIndex</a> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a558324489cd62f54825fedd6f228fcc0">getInnerHalfEdgeIndex</a> (idx_face)));</div>
<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;        }</div>
<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160; </div>
<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;        <span class="comment">// Circulators</span></div>
<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_around_vertex_circulator.html">VertexAroundVertexCirculator</a></div>
<div class="line"><a name="l00440"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a17ce476f53a6e99c6de3996bb217674c">  440</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a17ce476f53a6e99c6de3996bb217674c">getVertexAroundVertexCirculator</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp; idx_vertex)<span class="keyword"> const</span></div>
<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_vertex));</div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_vertex_around_vertex_circulator.html">VertexAroundVertexCirculator</a> (idx_vertex, <span class="keyword">this</span>));</div>
<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;        }</div>
<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160; </div>
<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_around_vertex_circulator.html">VertexAroundVertexCirculator</a></div>
<div class="line"><a name="l00448"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a138e4db9aa95de0b5b9a4c8033eaa3be">  448</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a138e4db9aa95de0b5b9a4c8033eaa3be">getVertexAroundVertexCirculator</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_outgoing_half_edge)<span class="keyword"> const</span></div>
<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_outgoing_half_edge));</div>
<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_vertex_around_vertex_circulator.html">VertexAroundVertexCirculator</a> (idx_outgoing_half_edge, <span class="keyword">this</span>));</div>
<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;        }</div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160; </div>
<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_outgoing_half_edge_around_vertex_circulator.html">OutgoingHalfEdgeAroundVertexCirculator</a></div>
<div class="line"><a name="l00456"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a76d6a2a322ad9723d8c16c6ac6adb079">  456</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a76d6a2a322ad9723d8c16c6ac6adb079">getOutgoingHalfEdgeAroundVertexCirculator</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp; idx_vertex)<span class="keyword"> const</span></div>
<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_vertex));</div>
<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_outgoing_half_edge_around_vertex_circulator.html">OutgoingHalfEdgeAroundVertexCirculator</a> (idx_vertex, <span class="keyword">this</span>));</div>
<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;        }</div>
<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160; </div>
<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_outgoing_half_edge_around_vertex_circulator.html">OutgoingHalfEdgeAroundVertexCirculator</a></div>
<div class="line"><a name="l00464"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a5470d21fc93156f145190d1b783f9fa2">  464</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a5470d21fc93156f145190d1b783f9fa2">getOutgoingHalfEdgeAroundVertexCirculator</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_outgoing_half_edge)<span class="keyword"> const</span></div>
<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_outgoing_half_edge));</div>
<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_outgoing_half_edge_around_vertex_circulator.html">OutgoingHalfEdgeAroundVertexCirculator</a> (idx_outgoing_half_edge, <span class="keyword">this</span>));</div>
<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;        }</div>
<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160; </div>
<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_incoming_half_edge_around_vertex_circulator.html">IncomingHalfEdgeAroundVertexCirculator</a></div>
<div class="line"><a name="l00472"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a3389ae4dcc4ca85e5adfdc33f48edc96">  472</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a3389ae4dcc4ca85e5adfdc33f48edc96">getIncomingHalfEdgeAroundVertexCirculator</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp; idx_vertex)<span class="keyword"> const</span></div>
<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_vertex));</div>
<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_incoming_half_edge_around_vertex_circulator.html">IncomingHalfEdgeAroundVertexCirculator</a> (idx_vertex, <span class="keyword">this</span>));</div>
<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;        }</div>
<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160; </div>
<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_incoming_half_edge_around_vertex_circulator.html">IncomingHalfEdgeAroundVertexCirculator</a></div>
<div class="line"><a name="l00480"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a422dba202580736060898b65c1dde8dd">  480</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a422dba202580736060898b65c1dde8dd">getIncomingHalfEdgeAroundVertexCirculator</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_incoming_half_edge)<span class="keyword"> const</span></div>
<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_incoming_half_edge));</div>
<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_incoming_half_edge_around_vertex_circulator.html">IncomingHalfEdgeAroundVertexCirculator</a> (idx_incoming_half_edge, <span class="keyword">this</span>));</div>
<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;        }</div>
<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160; </div>
<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_face_around_vertex_circulator.html">FaceAroundVertexCirculator</a></div>
<div class="line"><a name="l00488"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#acbd873aa1fd360de8a67336854ceb0c0">  488</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#acbd873aa1fd360de8a67336854ceb0c0">getFaceAroundVertexCirculator</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp; idx_vertex)<span class="keyword"> const</span></div>
<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_vertex));</div>
<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_face_around_vertex_circulator.html">FaceAroundVertexCirculator</a> (idx_vertex, <span class="keyword">this</span>));</div>
<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;        }</div>
<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160; </div>
<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_face_around_vertex_circulator.html">FaceAroundVertexCirculator</a></div>
<div class="line"><a name="l00496"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#aad0e01429b196849f6b081e1808dd777">  496</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aad0e01429b196849f6b081e1808dd777">getFaceAroundVertexCirculator</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_outgoing_half_edge)<span class="keyword"> const</span></div>
<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_outgoing_half_edge));</div>
<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_face_around_vertex_circulator.html">FaceAroundVertexCirculator</a> (idx_outgoing_half_edge, <span class="keyword">this</span>));</div>
<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;        }</div>
<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160; </div>
<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_around_face_circulator.html">VertexAroundFaceCirculator</a></div>
<div class="line"><a name="l00504"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a86e8b2d7ccde25e97d4452a9c63a2be6">  504</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a86e8b2d7ccde25e97d4452a9c63a2be6">getVertexAroundFaceCirculator</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a>&amp; idx_face)<span class="keyword"> const</span></div>
<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_face));</div>
<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_vertex_around_face_circulator.html">VertexAroundFaceCirculator</a> (idx_face, <span class="keyword">this</span>));</div>
<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;        }</div>
<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160; </div>
<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_around_face_circulator.html">VertexAroundFaceCirculator</a></div>
<div class="line"><a name="l00512"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a22c4d0b82719c61474f1c10ae9165273">  512</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a22c4d0b82719c61474f1c10ae9165273">getVertexAroundFaceCirculator</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_inner_half_edge)<span class="keyword"> const</span></div>
<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_inner_half_edge));</div>
<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_vertex_around_face_circulator.html">VertexAroundFaceCirculator</a> (idx_inner_half_edge, <span class="keyword">this</span>));</div>
<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;        }</div>
<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160; </div>
<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_inner_half_edge_around_face_circulator.html">InnerHalfEdgeAroundFaceCirculator</a></div>
<div class="line"><a name="l00520"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a3c30f9b4f2c62b35eb70fa46e48f6024">  520</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a3c30f9b4f2c62b35eb70fa46e48f6024">getInnerHalfEdgeAroundFaceCirculator</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a>&amp; idx_face)<span class="keyword"> const</span></div>
<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_face));</div>
<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_inner_half_edge_around_face_circulator.html">InnerHalfEdgeAroundFaceCirculator</a> (idx_face, <span class="keyword">this</span>));</div>
<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;        }</div>
<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160; </div>
<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_inner_half_edge_around_face_circulator.html">InnerHalfEdgeAroundFaceCirculator</a></div>
<div class="line"><a name="l00528"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a142a340e5b5cb10d86f4e1d49b3de90a">  528</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a142a340e5b5cb10d86f4e1d49b3de90a">getInnerHalfEdgeAroundFaceCirculator</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_inner_half_edge)<span class="keyword"> const</span></div>
<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_inner_half_edge));</div>
<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_inner_half_edge_around_face_circulator.html">InnerHalfEdgeAroundFaceCirculator</a> (idx_inner_half_edge, <span class="keyword">this</span>));</div>
<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;        }</div>
<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160; </div>
<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_outer_half_edge_around_face_circulator.html">OuterHalfEdgeAroundFaceCirculator</a></div>
<div class="line"><a name="l00536"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#aefe2d565191d2e35a6a4ad8b2f0773b5">  536</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aefe2d565191d2e35a6a4ad8b2f0773b5">getOuterHalfEdgeAroundFaceCirculator</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a>&amp; idx_face)<span class="keyword"> const</span></div>
<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_face));</div>
<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_outer_half_edge_around_face_circulator.html">OuterHalfEdgeAroundFaceCirculator</a> (idx_face, <span class="keyword">this</span>));</div>
<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;        }</div>
<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160; </div>
<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_outer_half_edge_around_face_circulator.html">OuterHalfEdgeAroundFaceCirculator</a></div>
<div class="line"><a name="l00544"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a59a6e48c3f3275d65caf9d90139f7b30">  544</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a59a6e48c3f3275d65caf9d90139f7b30">getOuterHalfEdgeAroundFaceCirculator</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_inner_half_edge)<span class="keyword"> const</span></div>
<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_inner_half_edge));</div>
<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_outer_half_edge_around_face_circulator.html">OuterHalfEdgeAroundFaceCirculator</a> (idx_inner_half_edge, <span class="keyword">this</span>));</div>
<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;        }</div>
<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160; </div>
<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_face_around_face_circulator.html">FaceAroundFaceCirculator</a></div>
<div class="line"><a name="l00552"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#aa0ca20bfce1cea8fdc94fddace06c38a">  552</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aa0ca20bfce1cea8fdc94fddace06c38a">getFaceAroundFaceCirculator</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a>&amp; idx_face)<span class="keyword"> const</span></div>
<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_face));</div>
<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_face_around_face_circulator.html">FaceAroundFaceCirculator</a> (idx_face, <span class="keyword">this</span>));</div>
<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;        }</div>
<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160; </div>
<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_face_around_face_circulator.html">FaceAroundFaceCirculator</a></div>
<div class="line"><a name="l00560"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#af8fb217c674a8b6cc538b80dc84708f6">  560</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af8fb217c674a8b6cc538b80dc84708f6">getFaceAroundFaceCirculator</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_inner_half_edge)<span class="keyword"> const</span></div>
<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_inner_half_edge));</div>
<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_face_around_face_circulator.html">FaceAroundFaceCirculator</a> (idx_inner_half_edge, <span class="keyword">this</span>));</div>
<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;        }</div>
<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160; </div>
<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;        <span class="comment">// isEqualTopology</span></div>
<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;        <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00572"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#aab7ec15339e7dfb43b79c0d5bb832878">  572</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aab7ec15339e7dfb43b79c0d5bb832878">isEqualTopology</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html">Self</a>&amp; other)<span class="keyword"> const</span></div>
<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;          <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a52baa83cf38a51bf35ab81a4d2d456c2">sizeVertices</a>  () != other.<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a52baa83cf38a51bf35ab81a4d2d456c2">sizeVertices</a>  ()) <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;          <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a44727455a0a52caba9b444cd408db3e4">sizeHalfEdges</a> () != other.<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a44727455a0a52caba9b444cd408db3e4">sizeHalfEdges</a> ()) <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;          <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a85c16666dbdf7d8c8cce217a68134694">sizeFaces</a>     () != other.<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a85c16666dbdf7d8c8cce217a68134694">sizeFaces</a>     ()) <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160; </div>
<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;          <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i=0; i&lt;this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a52baa83cf38a51bf35ab81a4d2d456c2">sizeVertices</a> (); ++i)</div>
<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;          {</div>
<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;            <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aa272421af280455cc40159a9726053a7">getOutgoingHalfEdgeIndex</a> (VertexIndex (i)) !=</div>
<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;                other.<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aa272421af280455cc40159a9726053a7">getOutgoingHalfEdgeIndex</a> (<a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a> (i))) <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;          }</div>
<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160; </div>
<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;          <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i=0; i&lt;this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a44727455a0a52caba9b444cd408db3e4">sizeHalfEdges</a> (); ++i)</div>
<div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;          {</div>
<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;            <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace722a9209cf91e0f4a1be62ed9ace8d">getTerminatingVertexIndex</a> (HalfEdgeIndex (i)) !=</div>
<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;                other.<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace722a9209cf91e0f4a1be62ed9ace8d">getTerminatingVertexIndex</a> (<a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> (i))) <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160; </div>
<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;            <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a06dfbe1db8d1f9c24eff51ebd4852652">getNextHalfEdgeIndex</a> (HalfEdgeIndex (i)) !=</div>
<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;                other.<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a06dfbe1db8d1f9c24eff51ebd4852652">getNextHalfEdgeIndex</a> (<a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> (i))) <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160; </div>
<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;            <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a58255271906702d47fcbe55d6f117be1">getPrevHalfEdgeIndex</a> (HalfEdgeIndex (i)) !=</div>
<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;                other.<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a58255271906702d47fcbe55d6f117be1">getPrevHalfEdgeIndex</a> (<a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> (i))) <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160; </div>
<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;            <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6547b360f64c3fce6ca9af1cfbf77ff">getFaceIndex</a> (HalfEdgeIndex (i)) !=</div>
<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;                other.<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6547b360f64c3fce6ca9af1cfbf77ff">getFaceIndex</a> (<a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> (i))) <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;          }</div>
<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160; </div>
<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;          <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i=0; i&lt;this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a85c16666dbdf7d8c8cce217a68134694">sizeFaces</a> (); ++i)</div>
<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;          {</div>
<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;            <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a558324489cd62f54825fedd6f228fcc0">getInnerHalfEdgeIndex</a> (FaceIndex (i)) !=</div>
<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;                other.<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a558324489cd62f54825fedd6f228fcc0">getInnerHalfEdgeIndex</a> (<a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a> (i))) <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;          }</div>
<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160; </div>
<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;          <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;        }</div>
<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160; </div>
<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;        <span class="comment">// isValid</span></div>
<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00614"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">  614</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp; idx_vertex)<span class="keyword"> const</span></div>
<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;          <span class="keywordflow">return</span> (idx_vertex &gt;= <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a> (0) &amp;&amp; idx_vertex &lt; <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a> (<span class="keywordtype">int</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af19892220ae9323428a6544bda84658b">vertices_</a>.size ())));</div>
<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;        }</div>
<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160; </div>
<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00621"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a6bfa77d242a657c796f188fb78bc9ba2">  621</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a6bfa77d242a657c796f188fb78bc9ba2">isValid</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he)<span class="keyword"> const</span></div>
<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;          <span class="keywordflow">return</span> (idx_he &gt;= <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> (0) &amp;&amp; idx_he &lt; <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a43f1f694e8cc619c619940e96c55b36d">half_edges_</a>.size ()));</div>
<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;        }</div>
<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160; </div>
<div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00628"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a84a277d60719ee1d6793b2f5e54c64fc">  628</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a84a277d60719ee1d6793b2f5e54c64fc">isValid</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_edge_index.html">EdgeIndex</a>&amp; idx_edge)<span class="keyword"> const</span></div>
<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;          <span class="keywordflow">return</span> (idx_edge &gt;= <a class="code" href="classpcl_1_1geometry_1_1_edge_index.html">EdgeIndex</a> (0) &amp;&amp; idx_edge &lt; <a class="code" href="classpcl_1_1geometry_1_1_edge_index.html">EdgeIndex</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a43f1f694e8cc619c619940e96c55b36d">half_edges_</a>.size () / 2));</div>
<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;        }</div>
<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160; </div>
<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00635"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a8c583da87f1680b80536952fefb7b6aa">  635</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8c583da87f1680b80536952fefb7b6aa">isValid</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a>&amp; idx_face)<span class="keyword"> const</span></div>
<div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;          <span class="keywordflow">return</span> (idx_face &gt;= <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a> (0) &amp;&amp; idx_face &lt; <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8b3dcd0be1230d8cc27ed70a0aaac8d0">faces_</a>.size ()));</div>
<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;        }</div>
<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160; </div>
<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;        <span class="comment">// isDeleted</span></div>
<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00646"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#aa114f7eeceeecdedfefc2d83d53c4f8b">  646</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aa114f7eeceeecdedfefc2d83d53c4f8b">isDeleted</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp; idx_vertex)<span class="keyword"> const</span></div>
<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_vertex));</div>
<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;          <span class="keywordflow">return</span> (!this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aa272421af280455cc40159a9726053a7">getOutgoingHalfEdgeIndex</a> (idx_vertex).<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> ());</div>
<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;        }</div>
<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160; </div>
<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00654"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a9850283c5476299d481f77191b375ebc">  654</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a9850283c5476299d481f77191b375ebc">isDeleted</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he)<span class="keyword"> const</span></div>
<div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_he));</div>
<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;          <span class="keywordflow">return</span> (!this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace722a9209cf91e0f4a1be62ed9ace8d">getTerminatingVertexIndex</a> (idx_he).<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> ());</div>
<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;        }</div>
<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160; </div>
<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00662"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#ae9dd8e27103ee10d9628d56d05e06d04">  662</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae9dd8e27103ee10d9628d56d05e06d04">isDeleted</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_edge_index.html">EdgeIndex</a>&amp; idx_edge)<span class="keyword"> const</span></div>
<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_edge));</div>
<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;          <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aa114f7eeceeecdedfefc2d83d53c4f8b">isDeleted</a> (pcl::geometry::toHalfEdgeIndex (idx_edge, <span class="keyword">true</span>)) ||</div>
<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;                  this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aa114f7eeceeecdedfefc2d83d53c4f8b">isDeleted</a> (pcl::geometry::toHalfEdgeIndex (idx_edge, <span class="keyword">false</span>)));</div>
<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;        }</div>
<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160; </div>
<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00671"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a0b250b2635f95c10202f73b34a5ec240">  671</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a0b250b2635f95c10202f73b34a5ec240">isDeleted</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a>&amp; idx_face)<span class="keyword"> const</span></div>
<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_face));</div>
<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;          <span class="keywordflow">return</span> (!this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a558324489cd62f54825fedd6f228fcc0">getInnerHalfEdgeIndex</a> (idx_face).<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> ());</div>
<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;        }</div>
<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160; </div>
<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;        <span class="comment">// isIsolated</span></div>
<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00683"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a9cbfbb8798253ce09f52fec701ee3aa7">  683</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a9cbfbb8798253ce09f52fec701ee3aa7">isIsolated</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp; idx_vertex)<span class="keyword"> const</span></div>
<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_vertex));</div>
<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;          <span class="keywordflow">return</span> (!this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aa272421af280455cc40159a9726053a7">getOutgoingHalfEdgeIndex</a> (idx_vertex).<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> ());</div>
<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;        }</div>
<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160; </div>
<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;        <span class="comment">// isBoundary</span></div>
<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00695"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a1318e10020901a4de7eb5bdd947cf669">  695</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1318e10020901a4de7eb5bdd947cf669">isBoundary</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp; idx_vertex)<span class="keyword"> const</span></div>
<div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_vertex));</div>
<div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;          <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a9cbfbb8798253ce09f52fec701ee3aa7">isIsolated</a> (idx_vertex)) <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;          <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1318e10020901a4de7eb5bdd947cf669">isBoundary</a> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aa272421af280455cc40159a9726053a7">getOutgoingHalfEdgeIndex</a> (idx_vertex)));</div>
<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;        }</div>
<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160; </div>
<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00704"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a32be29ab6c40c5a4a8a8c0895080ca43">  704</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a32be29ab6c40c5a4a8a8c0895080ca43">isBoundary</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he)<span class="keyword"> const</span></div>
<div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_he));</div>
<div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;          <span class="keywordflow">return</span> (!this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6547b360f64c3fce6ca9af1cfbf77ff">getFaceIndex</a> (idx_he).<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> ());</div>
<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;        }</div>
<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160; </div>
<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00712"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#aeb9d2df2715d703ac11e279121433067">  712</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aeb9d2df2715d703ac11e279121433067">isBoundary</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_edge_index.html">EdgeIndex</a>&amp; idx_edge)<span class="keyword"> const</span></div>
<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_edge));</div>
<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;          <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx = pcl::geometry::toHalfEdgeIndex (idx_edge);</div>
<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;          <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1318e10020901a4de7eb5bdd947cf669">isBoundary</a> (idx) || this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1318e10020901a4de7eb5bdd947cf669">isBoundary</a> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1f3e4696e4a6dd299dbe94fd23ffbb37">getOppositeHalfEdgeIndex</a> (idx)));</div>
<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;        }</div>
<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160; </div>
<div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;        <span class="keyword">template</span> &lt;<span class="keywordtype">bool</span> CheckVerticesT&gt; <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00723"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#aa4a2a5251d47b228119292f93a263715">  723</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aa4a2a5251d47b228119292f93a263715">isBoundary</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a>&amp; idx_face)<span class="keyword"> const</span></div>
<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_face));</div>
<div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;          <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1318e10020901a4de7eb5bdd947cf669">isBoundary</a> (idx_face, boost::integral_constant &lt;bool, CheckVerticesT&gt; ()));</div>
<div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;        }</div>
<div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160; </div>
<div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00731"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a9602bb1b698be2c9686df3e2f66a9a72">  731</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a9602bb1b698be2c9686df3e2f66a9a72">isBoundary</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a>&amp; idx_face)<span class="keyword"> const</span></div>
<div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_face));</div>
<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;          <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1318e10020901a4de7eb5bdd947cf669">isBoundary</a> (idx_face, boost::true_type ()));</div>
<div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;        }</div>
<div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160; </div>
<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;        <span class="comment">// isManifold</span></div>
<div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00743"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#aeefcfd903922b1c61251f0c237ce6cad">  743</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aeefcfd903922b1c61251f0c237ce6cad">isManifold</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp; idx_vertex)<span class="keyword"> const</span></div>
<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_vertex));</div>
<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;          <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a9cbfbb8798253ce09f52fec701ee3aa7">isIsolated</a> (idx_vertex)) <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;          <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aed1c1b4f45d8cd9d4f357df69cd16eff">isManifold</a> (idx_vertex, IsManifold ()));</div>
<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;        }</div>
<div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160; </div>
<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00752"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#aed1c1b4f45d8cd9d4f357df69cd16eff">  752</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aed1c1b4f45d8cd9d4f357df69cd16eff">isManifold</a> ()<span class="keyword"> const</span></div>
<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;          <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aed1c1b4f45d8cd9d4f357df69cd16eff">isManifold</a> (IsManifold ()));</div>
<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;        }</div>
<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160; </div>
<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;        <span class="comment">// size</span></div>
<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">size_t</span></div>
<div class="line"><a name="l00763"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a52baa83cf38a51bf35ab81a4d2d456c2">  763</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a52baa83cf38a51bf35ab81a4d2d456c2">sizeVertices</a> ()<span class="keyword"> const</span></div>
<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af19892220ae9323428a6544bda84658b">vertices_</a>.size ());</div>
<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;        }</div>
<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160; </div>
<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">size_t</span></div>
<div class="line"><a name="l00770"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a44727455a0a52caba9b444cd408db3e4">  770</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a44727455a0a52caba9b444cd408db3e4">sizeHalfEdges</a> ()<span class="keyword"> const</span></div>
<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;          assert (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a43f1f694e8cc619c619940e96c55b36d">half_edges_</a>.size () % 2 == 0); <span class="comment">// This would be a bug in the mesh.</span></div>
<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a43f1f694e8cc619c619940e96c55b36d">half_edges_</a>.size ());</div>
<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;        }</div>
<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160; </div>
<div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">size_t</span></div>
<div class="line"><a name="l00778"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a479a1fb135090564e36a7ed69560c89a">  778</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a479a1fb135090564e36a7ed69560c89a">sizeEdges</a> ()<span class="keyword"> const</span></div>
<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;          assert (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a43f1f694e8cc619c619940e96c55b36d">half_edges_</a>.size () % 2 == 0); <span class="comment">// This would be a bug in the mesh.</span></div>
<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a43f1f694e8cc619c619940e96c55b36d">half_edges_</a>.size () / 2);</div>
<div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;        }</div>
<div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160; </div>
<div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">size_t</span></div>
<div class="line"><a name="l00786"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a85c16666dbdf7d8c8cce217a68134694">  786</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a85c16666dbdf7d8c8cce217a68134694">sizeFaces</a> ()<span class="keyword"> const</span></div>
<div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8b3dcd0be1230d8cc27ed70a0aaac8d0">faces_</a>.size ());</div>
<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;        }</div>
<div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160; </div>
<div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;        <span class="comment">// empty</span></div>
<div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00797"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a41c3621ed5b27cbb87cb8a898f2ced25">  797</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a41c3621ed5b27cbb87cb8a898f2ced25">empty</a> ()<span class="keyword"> const</span></div>
<div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;          <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a100c6f21e1e05ee3d70f64c35070193b">emptyVertices</a> () &amp;&amp; this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a205ed992a9a4ae55610dc546eb9ff07e">emptyEdges</a> () &amp;&amp; this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a41348d880d4db2791b117ce53ac0844d">emptyFaces</a> ());</div>
<div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;        }</div>
<div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160; </div>
<div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00804"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a100c6f21e1e05ee3d70f64c35070193b">  804</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a100c6f21e1e05ee3d70f64c35070193b">emptyVertices</a> ()<span class="keyword"> const</span></div>
<div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af19892220ae9323428a6544bda84658b">vertices_</a>.empty ());</div>
<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;        }</div>
<div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160; </div>
<div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00811"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a205ed992a9a4ae55610dc546eb9ff07e">  811</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a205ed992a9a4ae55610dc546eb9ff07e">emptyEdges</a> ()<span class="keyword"> const</span></div>
<div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a43f1f694e8cc619c619940e96c55b36d">half_edges_</a>.empty ());</div>
<div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;        }</div>
<div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160; </div>
<div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00818"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a41348d880d4db2791b117ce53ac0844d">  818</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a41348d880d4db2791b117ce53ac0844d">emptyFaces</a> ()<span class="keyword"> const</span></div>
<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8b3dcd0be1230d8cc27ed70a0aaac8d0">faces_</a>.empty ());</div>
<div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;        }</div>
<div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160; </div>
<div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;        <span class="comment">// reserve</span></div>
<div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00829"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a1305a470f59e6c8e05c68011c0197deb">  829</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1305a470f59e6c8e05c68011c0197deb">reserveVertices</a> (<span class="keyword">const</span> <span class="keywordtype">size_t</span> n)</div>
<div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;        {</div>
<div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af19892220ae9323428a6544bda84658b">vertices_</a>.reserve (n);</div>
<div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a6211a83e7ec8d9f66bf7abe4a63deecd">reserveData</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae472d8311af5200ab6d7d3347aab9fb1">vertex_data_cloud_</a>, n, HasVertexData ());</div>
<div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;        }</div>
<div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160; </div>
<div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00837"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#aba5dff7fe8026ec59b7f06e47aa16716">  837</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aba5dff7fe8026ec59b7f06e47aa16716">reserveEdges</a> (<span class="keyword">const</span> <span class="keywordtype">size_t</span> n)</div>
<div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;        {</div>
<div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a43f1f694e8cc619c619940e96c55b36d">half_edges_</a>.reserve (2*n);</div>
<div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a6211a83e7ec8d9f66bf7abe4a63deecd">reserveData</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ac9ed388ef2ab0769901c953146946294">half_edge_data_cloud_</a>, 2*n, HasHalfEdgeData ());</div>
<div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a6211a83e7ec8d9f66bf7abe4a63deecd">reserveData</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6cc2e588af6754985ebb958a1835c91">edge_data_cloud_</a>     ,   n, HasEdgeData     ());</div>
<div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;        }</div>
<div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160; </div>
<div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00846"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a1ad369f17f660e59cb8fc3ac5ad17104">  846</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1ad369f17f660e59cb8fc3ac5ad17104">reserveFaces</a> (<span class="keyword">const</span> <span class="keywordtype">size_t</span> n)</div>
<div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;        {</div>
<div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8b3dcd0be1230d8cc27ed70a0aaac8d0">faces_</a>.reserve (n);</div>
<div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a6211a83e7ec8d9f66bf7abe4a63deecd">reserveData</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a2a0de549a87f8926f4fa2d99d19873a9">face_data_cloud_</a>, n, HasFaceData ());</div>
<div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;        }</div>
<div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160; </div>
<div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;        <span class="comment">// resize</span></div>
<div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00858"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#abd58da1605ef6b771f7ce6dccf6e3347">  858</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#abd58da1605ef6b771f7ce6dccf6e3347">resizeVertices</a> (<span class="keyword">const</span> <span class="keywordtype">size_t</span> n, <span class="keyword">const</span> VertexData&amp; data = VertexData ())</div>
<div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;        {</div>
<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af19892220ae9323428a6544bda84658b">vertices_</a>.resize (n);</div>
<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a9a6cde6548efcae7705e5af1d1510674">resizeData</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae472d8311af5200ab6d7d3347aab9fb1">vertex_data_cloud_</a>, n, data, HasVertexData ());</div>
<div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;        }</div>
<div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160; </div>
<div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00866"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a75f4aa39aa1a9bf6405f66599625cc54">  866</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a75f4aa39aa1a9bf6405f66599625cc54">resizeEdges</a> (<span class="keyword">const</span> <span class="keywordtype">size_t</span>       n,</div>
<div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;                     <span class="keyword">const</span> EdgeData&amp;    edge_data = EdgeData (),</div>
<div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;                     <span class="keyword">const</span> HalfEdgeData he_data   = HalfEdgeData ())</div>
<div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;        {</div>
<div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a43f1f694e8cc619c619940e96c55b36d">half_edges_</a>.resize (2*n);</div>
<div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a9a6cde6548efcae7705e5af1d1510674">resizeData</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ac9ed388ef2ab0769901c953146946294">half_edge_data_cloud_</a>, 2*n, he_data  , HasHalfEdgeData ());</div>
<div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a9a6cde6548efcae7705e5af1d1510674">resizeData</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6cc2e588af6754985ebb958a1835c91">edge_data_cloud_</a>     ,   n, edge_data, HasEdgeData     ());</div>
<div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;        }</div>
<div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160; </div>
<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00877"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a45f308f4bc78a27803bca707856345fa">  877</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a45f308f4bc78a27803bca707856345fa">resizeFaces</a> (<span class="keyword">const</span> <span class="keywordtype">size_t</span> n, <span class="keyword">const</span> FaceData&amp; data = FaceData ())</div>
<div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;        {</div>
<div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8b3dcd0be1230d8cc27ed70a0aaac8d0">faces_</a>.resize (n);</div>
<div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a9a6cde6548efcae7705e5af1d1510674">resizeData</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a2a0de549a87f8926f4fa2d99d19873a9">face_data_cloud_</a>, n, data, HasFaceData ());</div>
<div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;        }</div>
<div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160; </div>
<div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;        <span class="comment">// clear</span></div>
<div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00889"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#af3c8260c25498a753b8d6b7204667764">  889</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af3c8260c25498a753b8d6b7204667764">clear</a> ()</div>
<div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;        {</div>
<div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af19892220ae9323428a6544bda84658b">vertices_</a>.clear ();</div>
<div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a43f1f694e8cc619c619940e96c55b36d">half_edges_</a>.clear ();</div>
<div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8b3dcd0be1230d8cc27ed70a0aaac8d0">faces_</a>.clear ();</div>
<div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160; </div>
<div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a6005c01c43ae611bb64d04f338b11e8e">clearData</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae472d8311af5200ab6d7d3347aab9fb1">vertex_data_cloud_</a>   , HasVertexData   ());</div>
<div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a6005c01c43ae611bb64d04f338b11e8e">clearData</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ac9ed388ef2ab0769901c953146946294">half_edge_data_cloud_</a>, HasHalfEdgeData ());</div>
<div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a6005c01c43ae611bb64d04f338b11e8e">clearData</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6cc2e588af6754985ebb958a1835c91">edge_data_cloud_</a>     , HasEdgeData     ());</div>
<div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a6005c01c43ae611bb64d04f338b11e8e">clearData</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a2a0de549a87f8926f4fa2d99d19873a9">face_data_cloud_</a>     , HasFaceData     ());</div>
<div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;        }</div>
<div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160; </div>
<div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;        <span class="comment">// get / set the vertex data cloud</span></div>
<div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;        <span class="keyword">inline</span> VertexDataCloud&amp;</div>
<div class="line"><a name="l00909"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#ad01617b7fc9c08e79b7357659a8d6731">  909</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ad01617b7fc9c08e79b7357659a8d6731">getVertexDataCloud</a> ()</div>
<div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;        {</div>
<div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae472d8311af5200ab6d7d3347aab9fb1">vertex_data_cloud_</a>);</div>
<div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;        }</div>
<div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160; </div>
<div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;        <span class="keyword">inline</span> VertexDataCloud</div>
<div class="line"><a name="l00916"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#ab1237135e3318c46b9e71c7a31c22859">  916</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ab1237135e3318c46b9e71c7a31c22859">getVertexDataCloud</a> ()<span class="keyword"> const</span></div>
<div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae472d8311af5200ab6d7d3347aab9fb1">vertex_data_cloud_</a>);</div>
<div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;        }</div>
<div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160; </div>
<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00926"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a6337a69d1d50217e4de671d3025f236e">  926</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a6337a69d1d50217e4de671d3025f236e">setVertexDataCloud</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1_point_cloud.html">VertexDataCloud</a>&amp; vertex_data_cloud)</div>
<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;        {</div>
<div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;          <span class="keywordflow">if</span> (vertex_data_cloud.size () == <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae472d8311af5200ab6d7d3347aab9fb1">vertex_data_cloud_</a>.size ())</div>
<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;          {</div>
<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;            <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae472d8311af5200ab6d7d3347aab9fb1">vertex_data_cloud_</a> = vertex_data_cloud;</div>
<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;            <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;          }</div>
<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;          <span class="keywordflow">else</span></div>
<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;          {</div>
<div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;            <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;          }</div>
<div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;        }</div>
<div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160; </div>
<div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;        <span class="comment">// get / set the half-edge data cloud</span></div>
<div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;        <span class="keyword">inline</span> HalfEdgeDataCloud&amp;</div>
<div class="line"><a name="l00947"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#ac697d98117bd574577def3475ad6f1d5">  947</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ac697d98117bd574577def3475ad6f1d5">getHalfEdgeDataCloud</a> ()</div>
<div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;        {</div>
<div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ac9ed388ef2ab0769901c953146946294">half_edge_data_cloud_</a>);</div>
<div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;        }</div>
<div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160; </div>
<div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;        <span class="keyword">inline</span> HalfEdgeDataCloud</div>
<div class="line"><a name="l00954"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a2b67d93436ffa5f81b370d9f0a4ab608">  954</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a2b67d93436ffa5f81b370d9f0a4ab608">getHalfEdgeDataCloud</a> ()<span class="keyword"> const</span></div>
<div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ac9ed388ef2ab0769901c953146946294">half_edge_data_cloud_</a>);</div>
<div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;        }</div>
<div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160; </div>
<div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00964"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a4848866528fc0e8a64197f91498defa0">  964</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a4848866528fc0e8a64197f91498defa0">setHalfEdgeDataCloud</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1_point_cloud.html">HalfEdgeDataCloud</a>&amp; half_edge_data_cloud)</div>
<div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;        {</div>
<div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;          <span class="keywordflow">if</span> (half_edge_data_cloud.size () == <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ac9ed388ef2ab0769901c953146946294">half_edge_data_cloud_</a>.size ())</div>
<div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;          {</div>
<div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;            <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ac9ed388ef2ab0769901c953146946294">half_edge_data_cloud_</a> = half_edge_data_cloud;</div>
<div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;            <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;          }</div>
<div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;          <span class="keywordflow">else</span></div>
<div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;          {</div>
<div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;            <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;          }</div>
<div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;        }</div>
<div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160; </div>
<div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;        <span class="comment">// get / set the edge data cloud</span></div>
<div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;        <span class="keyword">inline</span> EdgeDataCloud&amp;</div>
<div class="line"><a name="l00985"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a68c13e85605765881e3d885197f35fc3">  985</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a68c13e85605765881e3d885197f35fc3">getEdgeDataCloud</a> ()</div>
<div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;        {</div>
<div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6cc2e588af6754985ebb958a1835c91">edge_data_cloud_</a>);</div>
<div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160;        }</div>
<div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160; </div>
<div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160;        <span class="keyword">inline</span> EdgeDataCloud</div>
<div class="line"><a name="l00992"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#acf44dfefcbc86259db6dd20b267bc8de">  992</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#acf44dfefcbc86259db6dd20b267bc8de">getEdgeDataCloud</a> ()<span class="keyword"> const</span></div>
<div class="line"><a name="l00993"></a><span class="lineno">  993</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6cc2e588af6754985ebb958a1835c91">edge_data_cloud_</a>);</div>
<div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;        }</div>
<div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160; </div>
<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l01002"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a365f1f65496b17f9ab5c51edae4a7782"> 1002</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a365f1f65496b17f9ab5c51edae4a7782">setEdgeDataCloud</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1_point_cloud.html">EdgeDataCloud</a>&amp; edge_data_cloud)</div>
<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;        {</div>
<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;          <span class="keywordflow">if</span> (edge_data_cloud.size () == <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6cc2e588af6754985ebb958a1835c91">edge_data_cloud_</a>.size ())</div>
<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;          {</div>
<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;            <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6cc2e588af6754985ebb958a1835c91">edge_data_cloud_</a> = edge_data_cloud;</div>
<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;            <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;          }</div>
<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;          <span class="keywordflow">else</span></div>
<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;          {</div>
<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;            <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;          }</div>
<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;        }</div>
<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160; </div>
<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;        <span class="comment">// get / set the face data cloud</span></div>
<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;        <span class="keyword">inline</span> FaceDataCloud&amp;</div>
<div class="line"><a name="l01023"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#af5df66a29bc91a2129a9da83fdd9da7e"> 1023</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af5df66a29bc91a2129a9da83fdd9da7e">getFaceDataCloud</a> ()</div>
<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;        {</div>
<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a2a0de549a87f8926f4fa2d99d19873a9">face_data_cloud_</a>);</div>
<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;        }</div>
<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160; </div>
<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;        <span class="keyword">inline</span> FaceDataCloud</div>
<div class="line"><a name="l01030"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a112b693465d5fb31297509f081209c64"> 1030</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a112b693465d5fb31297509f081209c64">getFaceDataCloud</a> ()<span class="keyword"> const</span></div>
<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a2a0de549a87f8926f4fa2d99d19873a9">face_data_cloud_</a>);</div>
<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;        }</div>
<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; </div>
<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l01040"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a582a4ea3ce387865fde824816fffb6ca"> 1040</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a582a4ea3ce387865fde824816fffb6ca">setFaceDataCloud</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1_point_cloud.html">FaceDataCloud</a>&amp; face_data_cloud)</div>
<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;        {</div>
<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;          <span class="keywordflow">if</span> (face_data_cloud.size () == <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a2a0de549a87f8926f4fa2d99d19873a9">face_data_cloud_</a>.size ())</div>
<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;          {</div>
<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;            <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a2a0de549a87f8926f4fa2d99d19873a9">face_data_cloud_</a> = face_data_cloud;</div>
<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;            <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;          }</div>
<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;          <span class="keywordflow">else</span></div>
<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;          {</div>
<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;            <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;          }</div>
<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;        }</div>
<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160; </div>
<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;        <span class="comment">// getVertexIndex / getHalfEdgeIndex / getEdgeIndex / getFaceIndex</span></div>
<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a></div>
<div class="line"><a name="l01061"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a79c2cc7cfbccb8dbb5769c55a7b15d04"> 1061</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a79c2cc7cfbccb8dbb5769c55a7b15d04">getVertexIndex</a> (<span class="keyword">const</span> VertexData&amp; vertex_data)<span class="keyword"> const</span></div>
<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;          <span class="keywordflow">if</span> (HasVertexData::value)</div>
<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;          {</div>
<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;            assert (&amp;vertex_data &gt;= &amp;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae472d8311af5200ab6d7d3347aab9fb1">vertex_data_cloud_</a>.front () &amp;&amp; &amp;vertex_data &lt;= &amp;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae472d8311af5200ab6d7d3347aab9fb1">vertex_data_cloud_</a>.back ());</div>
<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;            <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a> (std::distance (&amp;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae472d8311af5200ab6d7d3347aab9fb1">vertex_data_cloud_</a>.front (), &amp;vertex_data)));</div>
<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;          }</div>
<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;          <span class="keywordflow">else</span></div>
<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;          {</div>
<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;            <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a> ());</div>
<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;          }</div>
<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;        }</div>
<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160; </div>
<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a></div>
<div class="line"><a name="l01076"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a2a83029bd5d8fa5633edf20cc0f45473"> 1076</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a2a83029bd5d8fa5633edf20cc0f45473">getHalfEdgeIndex</a> (<span class="keyword">const</span> HalfEdgeData&amp; half_edge_data)<span class="keyword"> const</span></div>
<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;          <span class="keywordflow">if</span> (HasHalfEdgeData::value)</div>
<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;          {</div>
<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160;            assert (&amp;half_edge_data &gt;= &amp;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ac9ed388ef2ab0769901c953146946294">half_edge_data_cloud_</a>.front () &amp;&amp; &amp;half_edge_data &lt;= &amp;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ac9ed388ef2ab0769901c953146946294">half_edge_data_cloud_</a>.back ());</div>
<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;            <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> (std::distance (&amp;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ac9ed388ef2ab0769901c953146946294">half_edge_data_cloud_</a>.front (), &amp;half_edge_data)));</div>
<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;          }</div>
<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160;          <span class="keywordflow">else</span></div>
<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160;          {</div>
<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160;            <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> ());</div>
<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;          }</div>
<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;        }</div>
<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160; </div>
<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_edge_index.html">EdgeIndex</a></div>
<div class="line"><a name="l01091"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a1f085bbc37e1866a850d6707f2839877"> 1091</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1f085bbc37e1866a850d6707f2839877">getEdgeIndex</a> (<span class="keyword">const</span> EdgeData&amp; edge_data)<span class="keyword"> const</span></div>
<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160;          <span class="keywordflow">if</span> (HasEdgeData::value)</div>
<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;          {</div>
<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160;            assert (&amp;edge_data &gt;= &amp;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6cc2e588af6754985ebb958a1835c91">edge_data_cloud_</a>.front () &amp;&amp; &amp;edge_data &lt;= &amp;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6cc2e588af6754985ebb958a1835c91">edge_data_cloud_</a>.back ());</div>
<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160;            <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_edge_index.html">EdgeIndex</a> (std::distance (&amp;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6cc2e588af6754985ebb958a1835c91">edge_data_cloud_</a>.front (), &amp;edge_data)));</div>
<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;          }</div>
<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160;          <span class="keywordflow">else</span></div>
<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;          {</div>
<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160;            <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_edge_index.html">EdgeIndex</a> ());</div>
<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;          }</div>
<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;        }</div>
<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160; </div>
<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a></div>
<div class="line"><a name="l01106"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#ad8c950b6fb87139e3c394ec567782d12"> 1106</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ad8c950b6fb87139e3c394ec567782d12">getFaceIndex</a> (<span class="keyword">const</span> FaceData&amp; face_data)<span class="keyword"> const</span></div>
<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;          <span class="keywordflow">if</span> (HasFaceData::value)</div>
<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;          {</div>
<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160;            assert (&amp;face_data &gt;= &amp;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a2a0de549a87f8926f4fa2d99d19873a9">face_data_cloud_</a>.front () &amp;&amp; &amp;face_data &lt;= &amp;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a2a0de549a87f8926f4fa2d99d19873a9">face_data_cloud_</a>.back ());</div>
<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;            <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a> (std::distance (&amp;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a2a0de549a87f8926f4fa2d99d19873a9">face_data_cloud_</a>.front (), &amp;face_data)));</div>
<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160;          }</div>
<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160;          <span class="keywordflow">else</span></div>
<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160;          {</div>
<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160;            <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a> ());</div>
<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160;          }</div>
<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;        }</div>
<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160; </div>
<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160;      <span class="keyword">protected</span>:</div>
<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160; </div>
<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160;        <span class="comment">// Types</span></div>
<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;        <span class="comment">// Elements</span></div>
<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex.html">pcl::geometry::Vertex</a>   <a class="code" href="classpcl_1_1geometry_1_1_vertex.html">Vertex</a>;</div>
<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge.html">pcl::geometry::HalfEdge</a> <a class="code" href="classpcl_1_1geometry_1_1_half_edge.html">HalfEdge</a>;</div>
<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="classpcl_1_1geometry_1_1_face.html">pcl::geometry::Face</a>     <a class="code" href="classpcl_1_1geometry_1_1_face.html">Face</a>;</div>
<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160; </div>
<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;        <span class="keyword">typedef</span> std::vector &lt;Vertex&gt;   <a class="code" href="structpcl_1_1_vertices.html">Vertices</a>;</div>
<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160;        <span class="keyword">typedef</span> std::vector &lt;HalfEdge&gt; HalfEdges;</div>
<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160;        <span class="keyword">typedef</span> std::vector &lt;Face&gt;     Faces;</div>
<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160; </div>
<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;        <span class="keyword">typedef</span> <span class="keyword">typename</span> Vertices::iterator  VertexIterator;</div>
<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160;        <span class="keyword">typedef</span> <span class="keyword">typename</span> HalfEdges::iterator HalfEdgeIterator;</div>
<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160;        <span class="keyword">typedef</span> <span class="keyword">typename</span> Faces::iterator     FaceIterator;</div>
<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160; </div>
<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160;        <span class="keyword">typedef</span> <span class="keyword">typename</span> Vertices::const_iterator  VertexConstIterator;</div>
<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;        <span class="keyword">typedef</span> <span class="keyword">typename</span> HalfEdges::const_iterator HalfEdgeConstIterator;</div>
<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;        <span class="keyword">typedef</span> <span class="keyword">typename</span> Faces::const_iterator     FaceConstIterator;</div>
<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160; </div>
<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a></div>
<div class="line"><a name="l01144"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a5bfa23555bbed2097f7e55ea563c48c8"> 1144</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a5bfa23555bbed2097f7e55ea563c48c8">addFaceImplBase</a> (<span class="keyword">const</span> VertexIndices&amp; vertices,</div>
<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;                         <span class="keyword">const</span> FaceData&amp;      face_data,</div>
<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;                         <span class="keyword">const</span> EdgeData&amp;      edge_data,</div>
<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;                         <span class="keyword">const</span> HalfEdgeData&amp;  half_edge_data)</div>
<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160;        {</div>
<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;          <span class="keyword">const</span> <span class="keywordtype">int</span> n = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span> (vertices.size ());</div>
<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160;          <span class="keywordflow">if</span> (n &lt; 3) <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a> ());</div>
<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160; </div>
<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;          <span class="comment">// Check for topological errors</span></div>
<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a>.resize      (n);</div>
<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a9be3165b6f4a99da9701ebd33169cba5">free_he_</a>.resize       (n);</div>
<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8cd15b09cbebf457d9e6886c87704f22">is_new_</a>.resize        (n);</div>
<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af37b14f3d563a9bda93403082f26917f">make_adjacent_</a>.resize (n);</div>
<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160;          <span class="keywordtype">int</span> i, j;</div>
<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160;          <span class="keywordflow">for</span> (i=0; i&lt;n; ++i)</div>
<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160;          {</div>
<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160;            <span class="keywordflow">if</span> (!this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af2ca59e87e57aeae49727ac40f89686c">checkTopology1</a> (vertices [i], vertices [(i+1)%n], <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a> [i], <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8cd15b09cbebf457d9e6886c87704f22">is_new_</a> [i], IsManifold ()))</div>
<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160;            {</div>
<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160;              <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a> ());</div>
<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160;            }</div>
<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160;          }</div>
<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160;          <span class="keywordflow">for</span> (i=0; i&lt;n; ++i)</div>
<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160;          {</div>
<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160;            j = (i+1)%n;</div>
<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160;            <span class="keywordflow">if</span> (!this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a6dab4428fb080c797338827ed7dd96d4">checkTopology2</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a> [i], <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a> [j], <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8cd15b09cbebf457d9e6886c87704f22">is_new_</a> [i], <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8cd15b09cbebf457d9e6886c87704f22">is_new_</a> [j], this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a9cbfbb8798253ce09f52fec701ee3aa7">isIsolated</a> (vertices [j]), <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af37b14f3d563a9bda93403082f26917f">make_adjacent_</a> [i], <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a9be3165b6f4a99da9701ebd33169cba5">free_he_</a> [i], IsManifold ()))</div>
<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160;            {</div>
<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160;              <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a> ());</div>
<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160;            }</div>
<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160;          }</div>
<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160; </div>
<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160;          <span class="comment">// Reconnect the existing half-edges if needed</span></div>
<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160;          <span class="keywordflow">if</span> (!IsManifold::value)</div>
<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160;          {</div>
<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160;            <span class="keywordflow">for</span> (i=0; i&lt;n; ++i)</div>
<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160;            {</div>
<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160;              <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af37b14f3d563a9bda93403082f26917f">make_adjacent_</a> [i])</div>
<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160;              {</div>
<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160;                this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a9d9496611b3a0df8f2c769dc7899ed05">makeAdjacent</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a> [i], <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a> [(i+1)%n], <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a9be3165b6f4a99da9701ebd33169cba5">free_he_</a> [i]);</div>
<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160;              }</div>
<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160;            }</div>
<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160;          }</div>
<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160; </div>
<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160;          <span class="comment">// Add new half-edges if needed</span></div>
<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160;          <span class="keywordflow">for</span> (i=0; i&lt;n; ++i)</div>
<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160;          {</div>
<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160;            <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8cd15b09cbebf457d9e6886c87704f22">is_new_</a> [i])</div>
<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160;            {</div>
<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160;              <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a> [i] = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#adfe2a701da9f75051cbff2f35f2ce4a1">addEdge</a> (vertices [i], vertices [(i+1)%n], half_edge_data, edge_data);</div>
<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160;            }</div>
<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160;          }</div>
<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160; </div>
<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160;          <span class="comment">// Connect</span></div>
<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160;          <span class="keywordflow">for</span> (i=0; i&lt;n; ++i)</div>
<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160;          {</div>
<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160;            j = (i+1)%n;</div>
<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160;            <span class="keywordflow">if</span>      ( <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8cd15b09cbebf457d9e6886c87704f22">is_new_</a> [i] &amp;&amp;  <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8cd15b09cbebf457d9e6886c87704f22">is_new_</a> [j]) this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a4114e62f96a84751f1b0b8abbca760c6">connectNewNew</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a> [i], <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a> [j], vertices [j], IsManifold ());</div>
<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8cd15b09cbebf457d9e6886c87704f22">is_new_</a> [i] &amp;&amp; !<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8cd15b09cbebf457d9e6886c87704f22">is_new_</a> [j]) this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#acaa2e6107c5a5673f08b860d05ff0024">connectNewOld</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a> [i], <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a> [j], vertices [j]);</div>
<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8cd15b09cbebf457d9e6886c87704f22">is_new_</a> [i] &amp;&amp;  <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8cd15b09cbebf457d9e6886c87704f22">is_new_</a> [j]) this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a45023314f8c909925b671be55bc68a16">connectOldNew</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a> [i], <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a> [j], vertices [j]);</div>
<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160;            <span class="keywordflow">else</span>                                   this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a26fea9d6bb071ed14dba8dd590cbab71">connectOldOld</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a> [i], <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a> [j], vertices [j], IsManifold ());</div>
<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160;          }</div>
<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160;          <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a275168373d4ed9f2787abd3be6f78597">connectFace</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a>, face_data));</div>
<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;        }</div>
<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160; </div>
<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160;        <span class="comment">// addEdge</span></div>
<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a></div>
<div class="line"><a name="l01219"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#adfe2a701da9f75051cbff2f35f2ce4a1"> 1219</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#adfe2a701da9f75051cbff2f35f2ce4a1">addEdge</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp;  idx_v_a,</div>
<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160;                 <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp;  idx_v_b,</div>
<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160;                 <span class="keyword">const</span> HalfEdgeData&amp; he_data,</div>
<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160;                 <span class="keyword">const</span> EdgeData&amp;     edge_data)</div>
<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160;        {</div>
<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a43f1f694e8cc619c619940e96c55b36d">half_edges_</a>.push_back (<a class="code" href="classpcl_1_1geometry_1_1_half_edge.html">HalfEdge</a> (idx_v_b));</div>
<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a43f1f694e8cc619c619940e96c55b36d">half_edges_</a>.push_back (<a class="code" href="classpcl_1_1geometry_1_1_half_edge.html">HalfEdge</a> (idx_v_a));</div>
<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160; </div>
<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a2f0d60f62c1363856eb9dfe619f87db2">addData</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ac9ed388ef2ab0769901c953146946294">half_edge_data_cloud_</a>, he_data  , HasHalfEdgeData ());</div>
<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a2f0d60f62c1363856eb9dfe619f87db2">addData</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ac9ed388ef2ab0769901c953146946294">half_edge_data_cloud_</a>, he_data  , HasHalfEdgeData ());</div>
<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a2f0d60f62c1363856eb9dfe619f87db2">addData</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6cc2e588af6754985ebb958a1835c91">edge_data_cloud_</a>     , edge_data, HasEdgeData     ());</div>
<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160; </div>
<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> (<span class="keyword">static_cast &lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a43f1f694e8cc619c619940e96c55b36d">half_edges_</a>.size () - 2)));</div>
<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160;        }</div>
<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160; </div>
<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160;        <span class="comment">// topology checks</span></div>
<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160;        <span class="keywordtype">bool</span></div>
<div class="line"><a name="l01246"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#af2ca59e87e57aeae49727ac40f89686c"> 1246</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af2ca59e87e57aeae49727ac40f89686c">checkTopology1</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp;            idx_v_a,</div>
<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160;                        <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp;            idx_v_b,</div>
<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160;                        <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp;                idx_he_ab,</div>
<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160;                        std::vector &lt;bool&gt;::reference is_new_ab,</div>
<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160;                        boost::true_type              <span class="comment">/*is_manifold*/</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160;          is_new_ab = <span class="keyword">true</span>;</div>
<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>&#160;          <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a9cbfbb8798253ce09f52fec701ee3aa7">isIsolated</a> (idx_v_a)) <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>&#160; </div>
<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160;          idx_he_ab = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aa272421af280455cc40159a9726053a7">getOutgoingHalfEdgeIndex</a> (idx_v_a);</div>
<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160; </div>
<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160;          <span class="keywordflow">if</span> (!this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1318e10020901a4de7eb5bdd947cf669">isBoundary</a> (idx_he_ab))                          <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160;          <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace722a9209cf91e0f4a1be62ed9ace8d">getTerminatingVertexIndex</a> (idx_he_ab) == idx_v_b) is_new_ab = <span class="keyword">false</span>;</div>
<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160;          <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160;        }</div>
<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160; </div>
<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160;        <span class="keywordtype">bool</span></div>
<div class="line"><a name="l01264"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a3afd6487aca2233205b4ce813ccd7be4"> 1264</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a3afd6487aca2233205b4ce813ccd7be4">checkTopology1</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp;            idx_v_a,</div>
<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;                        <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp;            idx_v_b,</div>
<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160;                        <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp;                idx_he_ab,</div>
<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160;                        std::vector &lt;bool&gt;::reference is_new_ab,</div>
<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160;                        boost::false_type              <span class="comment">/*is_manifold*/</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160;          is_new_ab = <span class="keyword">true</span>;</div>
<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160;          <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a9cbfbb8798253ce09f52fec701ee3aa7">isIsolated</a> (idx_v_a))                                   <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160;          <span class="keywordflow">if</span> (!this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1318e10020901a4de7eb5bdd947cf669">isBoundary</a> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aa272421af280455cc40159a9726053a7">getOutgoingHalfEdgeIndex</a> (idx_v_a))) <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160; </div>
<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_vertex_around_vertex_circulator.html">VertexAroundVertexCirculator</a>       circ     = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a17ce476f53a6e99c6de3996bb217674c">getVertexAroundVertexCirculator</a> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aa272421af280455cc40159a9726053a7">getOutgoingHalfEdgeIndex</a> (idx_v_a));</div>
<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160;          <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_around_vertex_circulator.html">VertexAroundVertexCirculator</a> circ_end = circ;</div>
<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160; </div>
<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160;          <span class="keywordflow">do</span></div>
<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160;          {</div>
<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160;            <span class="keywordflow">if</span> (circ.<a class="code" href="classpcl_1_1geometry_1_1_vertex_around_vertex_circulator.html#a50345cd898bff00e40acd7c32172c1f8">getTargetIndex</a> () == idx_v_b)</div>
<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160;            {</div>
<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160;              idx_he_ab = circ.<a class="code" href="classpcl_1_1geometry_1_1_vertex_around_vertex_circulator.html#a9489db835553dc025f6992c6d2de8582">getCurrentHalfEdgeIndex</a> ();</div>
<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160;              <span class="keywordflow">if</span> (!this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1318e10020901a4de7eb5bdd947cf669">isBoundary</a> (idx_he_ab)) <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160; </div>
<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160;              is_new_ab = <span class="keyword">false</span>;</div>
<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160;              <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160;            }</div>
<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160;          } <span class="keywordflow">while</span> (++circ!=circ_end);</div>
<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160; </div>
<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160;          <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160;        }</div>
<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160; </div>
<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l01294"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a6dab4428fb080c797338827ed7dd96d4"> 1294</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a6dab4428fb080c797338827ed7dd96d4">checkTopology2</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp;          <span class="comment">/*idx_he_ab*/</span>,</div>
<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;                        <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp;          <span class="comment">/*idx_he_bc*/</span>,</div>
<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;                        <span class="keyword">const</span> <span class="keywordtype">bool</span>                    is_new_ab,</div>
<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160;                        <span class="keyword">const</span> <span class="keywordtype">bool</span>                    is_new_bc,</div>
<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160;                        <span class="keyword">const</span> <span class="keywordtype">bool</span>                    is_isolated_b,</div>
<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160;                        std::vector &lt;bool&gt;::reference <span class="comment">/*make_adjacent_ab_bc*/</span>,</div>
<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160;                        <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp;                <span class="comment">/*idx_free_half_edge*/</span>,</div>
<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160;                        boost::true_type              <span class="comment">/*is_manifold*/</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160;          <span class="keywordflow">if</span> (is_new_ab &amp;&amp; is_new_bc &amp;&amp; !is_isolated_b) <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160;          <span class="keywordflow">else</span>                                          <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160;        }</div>
<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160; </div>
<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l01317"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a6196f8dc951e889c7b5a23c841939606"> 1317</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a6196f8dc951e889c7b5a23c841939606">checkTopology2</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp;          idx_he_ab,</div>
<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160;                        <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp;          idx_he_bc,</div>
<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160;                        <span class="keyword">const</span> <span class="keywordtype">bool</span>                    is_new_ab,</div>
<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160;                        <span class="keyword">const</span> <span class="keywordtype">bool</span>                    is_new_bc,</div>
<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160;                        <span class="keyword">const</span> <span class="keywordtype">bool</span>                    <span class="comment">/*is_isolated_b*/</span>,</div>
<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160;                        std::vector &lt;bool&gt;::reference make_adjacent_ab_bc,</div>
<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160;                        <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp;                idx_free_half_edge,</div>
<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160;                        boost::false_type             <span class="comment">/*is_manifold*/</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160;          <span class="keywordflow">if</span> (is_new_ab || is_new_bc)</div>
<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160;          {</div>
<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160;            make_adjacent_ab_bc = <span class="keyword">false</span>;</div>
<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160;            <span class="keywordflow">return</span> (<span class="keyword">true</span>); <span class="comment">// Make adjacent is only needed for two old half-edges</span></div>
<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160;          }</div>
<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160; </div>
<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160;          <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a06dfbe1db8d1f9c24eff51ebd4852652">getNextHalfEdgeIndex</a> (idx_he_ab) == idx_he_bc)</div>
<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160;          {</div>
<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160;            make_adjacent_ab_bc = <span class="keyword">false</span>;</div>
<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160;            <span class="keywordflow">return</span> (<span class="keyword">true</span>); <span class="comment">// already adjacent</span></div>
<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160;          }</div>
<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160; </div>
<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160;          make_adjacent_ab_bc = <span class="keyword">true</span>;</div>
<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160; </div>
<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160;          <span class="comment">// Find the next boundary half edge</span></div>
<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_incoming_half_edge_around_vertex_circulator.html">IncomingHalfEdgeAroundVertexCirculator</a> circ = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a3389ae4dcc4ca85e5adfdc33f48edc96">getIncomingHalfEdgeAroundVertexCirculator</a> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1f3e4696e4a6dd299dbe94fd23ffbb37">getOppositeHalfEdgeIndex</a> (idx_he_bc));</div>
<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160; </div>
<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160;          <span class="keywordflow">do</span> ++circ; <span class="keywordflow">while</span> (!this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1318e10020901a4de7eb5bdd947cf669">isBoundary</a> (circ.<a class="code" href="classpcl_1_1geometry_1_1_incoming_half_edge_around_vertex_circulator.html#a80013df6d142f28abab3551d7ebdc0db">getTargetIndex</a> ()));</div>
<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160;          idx_free_half_edge = circ.<a class="code" href="classpcl_1_1geometry_1_1_incoming_half_edge_around_vertex_circulator.html#a80013df6d142f28abab3551d7ebdc0db">getTargetIndex</a> ();</div>
<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160; </div>
<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160;          <span class="comment">// This would detach the faces around the vertex from each other.</span></div>
<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>&#160;          <span class="keywordflow">if</span> (circ.<a class="code" href="classpcl_1_1geometry_1_1_incoming_half_edge_around_vertex_circulator.html#a80013df6d142f28abab3551d7ebdc0db">getTargetIndex</a> () == idx_he_ab) <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>&#160;          <span class="keywordflow">else</span>                                     <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160;        }</div>
<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160; </div>
<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l01357"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a9d9496611b3a0df8f2c769dc7899ed05"> 1357</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a9d9496611b3a0df8f2c769dc7899ed05">makeAdjacent</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he_ab,</div>
<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160;                      <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he_bc,</div>
<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160;                      <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp;       idx_free_half_edge)</div>
<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160;        {</div>
<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160;          <span class="comment">// Re-link. No references!</span></div>
<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160;          <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> idx_he_ab_next   = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a06dfbe1db8d1f9c24eff51ebd4852652">getNextHalfEdgeIndex</a> (idx_he_ab);</div>
<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160;          <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> idx_he_bc_prev   = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a58255271906702d47fcbe55d6f117be1">getPrevHalfEdgeIndex</a> (idx_he_bc);</div>
<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160;          <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> idx_he_free_next = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a06dfbe1db8d1f9c24eff51ebd4852652">getNextHalfEdgeIndex</a> (idx_free_half_edge);</div>
<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160; </div>
<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a953b3cece4af98f743a73450c557fdf3">connectPrevNext</a> (idx_he_ab,          idx_he_bc);</div>
<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a953b3cece4af98f743a73450c557fdf3">connectPrevNext</a> (idx_free_half_edge, idx_he_ab_next);</div>
<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a953b3cece4af98f743a73450c557fdf3">connectPrevNext</a> (idx_he_bc_prev,     idx_he_free_next);</div>
<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160;        }</div>
<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160; </div>
<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>&#160;        <span class="comment">// connect</span></div>
<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a></div>
<div class="line"><a name="l01381"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a275168373d4ed9f2787abd3be6f78597"> 1381</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a275168373d4ed9f2787abd3be6f78597">connectFace</a> (<span class="keyword">const</span> HalfEdgeIndices&amp; inner_he,</div>
<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160;                     <span class="keyword">const</span> FaceData&amp;        face_data)</div>
<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160;        {</div>
<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8b3dcd0be1230d8cc27ed70a0aaac8d0">faces_</a>.push_back (<a class="code" href="classpcl_1_1geometry_1_1_face.html">Face</a> (inner_he.back ()));</div>
<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a2f0d60f62c1363856eb9dfe619f87db2">addData</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a2a0de549a87f8926f4fa2d99d19873a9">face_data_cloud_</a>, face_data, HasFaceData ());</div>
<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160; </div>
<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160;          <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a> idx_face (<span class="keyword">static_cast &lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a85c16666dbdf7d8c8cce217a68134694">sizeFaces</a> () - 1));</div>
<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160; </div>
<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160;          <span class="keywordflow">for</span> (HalfEdgeIndices::const_iterator it=inner_he.begin (); it!=inner_he.end (); ++it)</div>
<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160;          {</div>
<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160;            this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#adb4ece77ab1605520fec23946c585af8">setFaceIndex</a> (*it, idx_face);</div>
<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160;          }</div>
<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160; </div>
<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160;          <span class="keywordflow">return</span> (idx_face);</div>
<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160;        }</div>
<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>&#160; </div>
<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l01399"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a953b3cece4af98f743a73450c557fdf3"> 1399</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a953b3cece4af98f743a73450c557fdf3">connectPrevNext</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he_ab,</div>
<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160;                         <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he_bc)</div>
<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160;        {</div>
<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a0b29a2c3e3faf15dd5030e0f6d9b99c7">setNextHalfEdgeIndex</a> (idx_he_ab, idx_he_bc);</div>
<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ab2c06f58e2b38f903b2218ad7547bd0f">setPrevHalfEdgeIndex</a> (idx_he_bc, idx_he_ab);</div>
<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160;        }</div>
<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160; </div>
<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l01408"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a4114e62f96a84751f1b0b8abbca760c6"> 1408</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a4114e62f96a84751f1b0b8abbca760c6">connectNewNew</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he_ab,</div>
<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>&#160;                       <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he_bc,</div>
<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>&#160;                       <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp;   idx_v_b,</div>
<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160;                       boost::true_type     <span class="comment">/*is_manifold*/</span>)</div>
<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160;        {</div>
<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160;          <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> idx_he_ba = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1f3e4696e4a6dd299dbe94fd23ffbb37">getOppositeHalfEdgeIndex</a> (idx_he_ab);</div>
<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160;          <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> idx_he_cb = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1f3e4696e4a6dd299dbe94fd23ffbb37">getOppositeHalfEdgeIndex</a> (idx_he_bc);</div>
<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160; </div>
<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a953b3cece4af98f743a73450c557fdf3">connectPrevNext</a> (idx_he_ab, idx_he_bc);</div>
<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a953b3cece4af98f743a73450c557fdf3">connectPrevNext</a> (idx_he_cb, idx_he_ba);</div>
<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160; </div>
<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a02d2f05b6256c3ac6fca45151adbd3e9">setOutgoingHalfEdgeIndex</a> (idx_v_b, idx_he_ba);</div>
<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160;        }</div>
<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160; </div>
<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l01424"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a251c66c8ea515e6bd0de7ebe7d37efde"> 1424</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a251c66c8ea515e6bd0de7ebe7d37efde">connectNewNew</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he_ab,</div>
<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>&#160;                       <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he_bc,</div>
<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160;                       <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp;   idx_v_b,</div>
<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160;                       boost::false_type    <span class="comment">/*is_manifold*/</span>)</div>
<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160;        {</div>
<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>&#160;          <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a9cbfbb8798253ce09f52fec701ee3aa7">isIsolated</a> (idx_v_b))</div>
<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160;          {</div>
<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160;            this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a4114e62f96a84751f1b0b8abbca760c6">connectNewNew</a> (idx_he_ab, idx_he_bc, idx_v_b, boost::true_type ());</div>
<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>&#160;          }</div>
<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160;          <span class="keywordflow">else</span></div>
<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160;          {</div>
<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160;            <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> idx_he_ba = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1f3e4696e4a6dd299dbe94fd23ffbb37">getOppositeHalfEdgeIndex</a> (idx_he_ab);</div>
<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160;            <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> idx_he_cb = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1f3e4696e4a6dd299dbe94fd23ffbb37">getOppositeHalfEdgeIndex</a> (idx_he_bc);</div>
<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160; </div>
<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160;            <span class="comment">// No references!</span></div>
<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160;            <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> idx_he_b_out      = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aa272421af280455cc40159a9726053a7">getOutgoingHalfEdgeIndex</a> (idx_v_b);</div>
<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160;            <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> idx_he_b_out_prev = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a58255271906702d47fcbe55d6f117be1">getPrevHalfEdgeIndex</a> (idx_he_b_out);</div>
<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160; </div>
<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160;            this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a953b3cece4af98f743a73450c557fdf3">connectPrevNext</a> (idx_he_ab,         idx_he_bc);</div>
<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160;            this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a953b3cece4af98f743a73450c557fdf3">connectPrevNext</a> (idx_he_cb,         idx_he_b_out);</div>
<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160;            this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a953b3cece4af98f743a73450c557fdf3">connectPrevNext</a> (idx_he_b_out_prev, idx_he_ba);</div>
<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>&#160;          }</div>
<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160;        }</div>
<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>&#160; </div>
<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l01450"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#acaa2e6107c5a5673f08b860d05ff0024"> 1450</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#acaa2e6107c5a5673f08b860d05ff0024">connectNewOld</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he_ab,</div>
<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160;                       <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he_bc,</div>
<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160;                       <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp;   idx_v_b)</div>
<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160;        {</div>
<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160;          <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> idx_he_ba      = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1f3e4696e4a6dd299dbe94fd23ffbb37">getOppositeHalfEdgeIndex</a> (idx_he_ab);</div>
<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160;          <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> idx_he_bc_prev = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a58255271906702d47fcbe55d6f117be1">getPrevHalfEdgeIndex</a> (idx_he_bc); <span class="comment">// No reference!</span></div>
<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160; </div>
<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a953b3cece4af98f743a73450c557fdf3">connectPrevNext</a> (idx_he_ab,      idx_he_bc);</div>
<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a953b3cece4af98f743a73450c557fdf3">connectPrevNext</a> (idx_he_bc_prev, idx_he_ba);</div>
<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160; </div>
<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a02d2f05b6256c3ac6fca45151adbd3e9">setOutgoingHalfEdgeIndex</a> (idx_v_b, idx_he_ba);</div>
<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>&#160;        }</div>
<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160; </div>
<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l01465"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a45023314f8c909925b671be55bc68a16"> 1465</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a45023314f8c909925b671be55bc68a16">connectOldNew</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he_ab,</div>
<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>&#160;                       <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he_bc,</div>
<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>&#160;                       <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp;   idx_v_b)</div>
<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>&#160;        {</div>
<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>&#160;          <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> idx_he_cb      = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1f3e4696e4a6dd299dbe94fd23ffbb37">getOppositeHalfEdgeIndex</a> (idx_he_bc);</div>
<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>&#160;          <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> idx_he_ab_next = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a06dfbe1db8d1f9c24eff51ebd4852652">getNextHalfEdgeIndex</a> (idx_he_ab); <span class="comment">// No reference!</span></div>
<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>&#160; </div>
<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a953b3cece4af98f743a73450c557fdf3">connectPrevNext</a> (idx_he_ab, idx_he_bc);</div>
<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a953b3cece4af98f743a73450c557fdf3">connectPrevNext</a> (idx_he_cb, idx_he_ab_next);</div>
<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>&#160; </div>
<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a02d2f05b6256c3ac6fca45151adbd3e9">setOutgoingHalfEdgeIndex</a> (idx_v_b, idx_he_ab_next);</div>
<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>&#160;        }</div>
<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>&#160; </div>
<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l01480"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a26fea9d6bb071ed14dba8dd590cbab71"> 1480</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a26fea9d6bb071ed14dba8dd590cbab71">connectOldOld</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; <span class="comment">/*idx_he_ab*/</span>,</div>
<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>&#160;                       <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; <span class="comment">/*idx_he_bc*/</span>,</div>
<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>&#160;                       <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp;   <span class="comment">/*idx_v_b*/</span>,</div>
<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>&#160;                       boost::true_type     <span class="comment">/*is_manifold*/</span>)</div>
<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>&#160;        {</div>
<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>&#160;        }</div>
<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>&#160; </div>
<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l01489"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a9cc0af19e1d44db09308aa7735cc059f"> 1489</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a9cc0af19e1d44db09308aa7735cc059f">connectOldOld</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; <span class="comment">/*idx_he_ab*/</span>,</div>
<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160;                       <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he_bc,</div>
<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>&#160;                       <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp;   idx_v_b,</div>
<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>&#160;                       boost::false_type    <span class="comment">/*is_manifold*/</span>)</div>
<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>&#160;        {</div>
<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>&#160;          <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he_b_out = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aa272421af280455cc40159a9726053a7">getOutgoingHalfEdgeIndex</a> (idx_v_b);</div>
<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>&#160; </div>
<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>&#160;          <span class="comment">// The outgoing half edge MUST be a boundary half-edge (if there is one)</span></div>
<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>&#160;          <span class="keywordflow">if</span> (idx_he_b_out == idx_he_bc) <span class="comment">// he_bc is no longer on the boundary</span></div>
<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>&#160;          {</div>
<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>&#160;            <a class="code" href="classpcl_1_1geometry_1_1_outgoing_half_edge_around_vertex_circulator.html">OutgoingHalfEdgeAroundVertexCirculator</a>       circ     = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a76d6a2a322ad9723d8c16c6ac6adb079">getOutgoingHalfEdgeAroundVertexCirculator</a> (idx_he_b_out);</div>
<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>&#160;            <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_outgoing_half_edge_around_vertex_circulator.html">OutgoingHalfEdgeAroundVertexCirculator</a> circ_end = circ;</div>
<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>&#160; </div>
<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>&#160;            <span class="keywordflow">while</span> (++circ!=circ_end)</div>
<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>&#160;            {</div>
<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>&#160;              <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1318e10020901a4de7eb5bdd947cf669">isBoundary</a> (circ.<a class="code" href="classpcl_1_1geometry_1_1_outgoing_half_edge_around_vertex_circulator.html#a12a33e71c4e2eac5fa148aa8ba791179">getTargetIndex</a> ()))</div>
<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>&#160;              {</div>
<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>&#160;                this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a02d2f05b6256c3ac6fca45151adbd3e9">setOutgoingHalfEdgeIndex</a> (idx_v_b, circ.<a class="code" href="classpcl_1_1geometry_1_1_outgoing_half_edge_around_vertex_circulator.html#a12a33e71c4e2eac5fa148aa8ba791179">getTargetIndex</a> ());</div>
<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>&#160;                <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>&#160;              }</div>
<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>&#160;            }</div>
<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160;          }</div>
<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160;        }</div>
<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160; </div>
<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>&#160;        <span class="comment">// addData</span></div>
<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">class</span> DataT&gt;</div>
<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l01520"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a2f0d60f62c1363856eb9dfe619f87db2"> 1520</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a2f0d60f62c1363856eb9dfe619f87db2">addData</a> (<a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud &lt;DataT&gt;</a>&amp; cloud, <span class="keyword">const</span> DataT&amp; data, boost::true_type <span class="comment">/*has_data*/</span>)</div>
<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>&#160;        {</div>
<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160;          cloud.<a class="code" href="classpcl_1_1_point_cloud.html#a0b4d7abee110e47d90635eb042488bb4">push_back</a> (data);</div>
<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160;        }</div>
<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160; </div>
<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">class</span> DataT&gt;</div>
<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l01528"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#ae25ea8ed4d3bdb60f31c54c77952e1a5"> 1528</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae25ea8ed4d3bdb60f31c54c77952e1a5">addData</a> (<a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud &lt;DataT&gt;</a>&amp; <span class="comment">/*cloud*/</span>, <span class="keyword">const</span> DataT&amp; <span class="comment">/*data*/</span>, boost::false_type <span class="comment">/*has_data*/</span>)</div>
<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>&#160;        {</div>
<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>&#160;        }</div>
<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160; </div>
<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>&#160;        <span class="comment">// deleteFace</span></div>
<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l01538"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a8468ea5d1de5586172d54becd3fabef8"> 1538</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8468ea5d1de5586172d54becd3fabef8">deleteFace</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a>&amp; idx_face,</div>
<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>&#160;                    boost::true_type <span class="comment">/*is_manifold*/</span>)</div>
<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>&#160;        {</div>
<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_face));</div>
<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a252af6e45d7db3021acee62ff2558a3a">delete_faces_face_</a>.clear ();</div>
<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a252af6e45d7db3021acee62ff2558a3a">delete_faces_face_</a>.push_back (idx_face);</div>
<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>&#160; </div>
<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>&#160;          <span class="keywordflow">while</span> (!<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a252af6e45d7db3021acee62ff2558a3a">delete_faces_face_</a>.empty ())</div>
<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>&#160;          {</div>
<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160;            <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a> idx_face_cur = <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a252af6e45d7db3021acee62ff2558a3a">delete_faces_face_</a>.back ();</div>
<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>&#160;            <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a252af6e45d7db3021acee62ff2558a3a">delete_faces_face_</a>.pop_back ();</div>
<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>&#160; </div>
<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>&#160;            <span class="comment">// This calls the non-manifold version of deleteFace, which will call the manifold version of reconnect.</span></div>
<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>&#160;            this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a18850a81cabcf16597a2418f67df452c">deleteFace</a> (idx_face_cur, boost::false_type ());</div>
<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>&#160;          }</div>
<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>&#160;        }</div>
<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>&#160; </div>
<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l01557"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a766a074742c13a0c3f868c15f0c4001a"> 1557</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a766a074742c13a0c3f868c15f0c4001a">deleteFace</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a>&amp;  idx_face,</div>
<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>&#160;                    boost::false_type <span class="comment">/*is_manifold*/</span>)</div>
<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>&#160;        {</div>
<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_face));</div>
<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>&#160;          <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aa114f7eeceeecdedfefc2d83d53c4f8b">isDeleted</a> (idx_face)) <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>&#160; </div>
<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>&#160;          <span class="comment">// Store all half-edges in the face</span></div>
<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a>.clear ();</div>
<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1b4226400b93828d6313374f2d1f69af">is_boundary_</a>.clear ();</div>
<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_inner_half_edge_around_face_circulator.html">InnerHalfEdgeAroundFaceCirculator</a>       circ     = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a3c30f9b4f2c62b35eb70fa46e48f6024">getInnerHalfEdgeAroundFaceCirculator</a> (idx_face);</div>
<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>&#160;          <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_inner_half_edge_around_face_circulator.html">InnerHalfEdgeAroundFaceCirculator</a> circ_end = circ;</div>
<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160;          <span class="keywordflow">do</span></div>
<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160;          {</div>
<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160;            <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a>.push_back (circ.<a class="code" href="classpcl_1_1geometry_1_1_inner_half_edge_around_face_circulator.html#a7768afee3590e2ccd6a91d24e4de2fd9">getTargetIndex</a> ());</div>
<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160;            <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1b4226400b93828d6313374f2d1f69af">is_boundary_</a>.push_back (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1318e10020901a4de7eb5bdd947cf669">isBoundary</a> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1f3e4696e4a6dd299dbe94fd23ffbb37">getOppositeHalfEdgeIndex</a> (circ.<a class="code" href="classpcl_1_1geometry_1_1_inner_half_edge_around_face_circulator.html#a7768afee3590e2ccd6a91d24e4de2fd9">getTargetIndex</a> ())));</div>
<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160;          } <span class="keywordflow">while</span> (++circ != circ_end);</div>
<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160;          assert (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a>.size () &gt;= 3); <span class="comment">// Minimum should be a triangle.</span></div>
<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160; </div>
<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160;          <span class="keyword">const</span> <span class="keywordtype">int</span> n = <span class="keyword">static_cast &lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a>.size ());</div>
<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>&#160;          <span class="keywordtype">int</span> j;</div>
<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>&#160; </div>
<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>&#160;          <span class="keywordflow">if</span> (IsManifold::value)</div>
<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>&#160;          {</div>
<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0; i&lt;n; ++i)</div>
<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160;            {</div>
<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160;              j = (i+1)%n;</div>
<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>&#160;              this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a34a312e02ba5bd42a15bc8120ae6dbd9">reconnect</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a> [i], <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a> [j], <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1b4226400b93828d6313374f2d1f69af">is_boundary_</a> [i], <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1b4226400b93828d6313374f2d1f69af">is_boundary_</a> [j]);</div>
<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>&#160;            }</div>
<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0; i&lt;n; ++i)</div>
<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>&#160;            {</div>
<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>&#160;              this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#afb6751c957f49de4295d345d724ce88c">getHalfEdge</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a> [i]).<a class="code" href="classpcl_1_1geometry_1_1_half_edge.html#a883869862bed1fa08b184d4839135922">idx_face_</a>.<a class="code" href="classpcl_1_1geometry_1_1_face_index.html#af150a49c829ab35ff9d6e7159d04907e">invalidate</a> ();</div>
<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>&#160;            }</div>
<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>&#160;          }</div>
<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>&#160;          <span class="keywordflow">else</span></div>
<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>&#160;          {</div>
<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0; i&lt;n; ++i)</div>
<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>&#160;            {</div>
<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160;              j = (i+1)%n;</div>
<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>&#160;              this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a34a312e02ba5bd42a15bc8120ae6dbd9">reconnect</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a> [i], <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a> [j], <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1b4226400b93828d6313374f2d1f69af">is_boundary_</a> [i], <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1b4226400b93828d6313374f2d1f69af">is_boundary_</a> [j]);</div>
<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160;              this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#afb6751c957f49de4295d345d724ce88c">getHalfEdge</a> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a> [i]).<a class="code" href="classpcl_1_1geometry_1_1_half_edge.html#a883869862bed1fa08b184d4839135922">idx_face_</a>.<a class="code" href="classpcl_1_1geometry_1_1_face_index.html#af150a49c829ab35ff9d6e7159d04907e">invalidate</a> ();</div>
<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160;            }</div>
<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160;          }</div>
<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>&#160; </div>
<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a62b4389cf1d19c7ae829056888651b54">markDeleted</a> (idx_face);</div>
<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160;        }</div>
<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160; </div>
<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>&#160;        <span class="comment">// reconnect</span></div>
<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l01609"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a34a312e02ba5bd42a15bc8120ae6dbd9"> 1609</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a34a312e02ba5bd42a15bc8120ae6dbd9">reconnect</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he_ab,</div>
<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160;                   <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he_bc,</div>
<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>&#160;                   <span class="keyword">const</span> <span class="keywordtype">bool</span>           is_boundary_ba,</div>
<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>&#160;                   <span class="keyword">const</span> <span class="keywordtype">bool</span>           is_boundary_cb)</div>
<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>&#160;        {</div>
<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>&#160;          <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> idx_he_ba = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1f3e4696e4a6dd299dbe94fd23ffbb37">getOppositeHalfEdgeIndex</a>  (idx_he_ab);</div>
<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>&#160;          <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a> idx_he_cb = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1f3e4696e4a6dd299dbe94fd23ffbb37">getOppositeHalfEdgeIndex</a>  (idx_he_bc);</div>
<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>&#160;          <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>   idx_v_b   = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace722a9209cf91e0f4a1be62ed9ace8d">getTerminatingVertexIndex</a> (idx_he_ab);</div>
<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>&#160; </div>
<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>&#160;          <span class="keywordflow">if</span> (is_boundary_ba &amp;&amp; is_boundary_cb) <span class="comment">// boundary - boundary</span></div>
<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>&#160;          {</div>
<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>&#160;            <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he_cb_next = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a06dfbe1db8d1f9c24eff51ebd4852652">getNextHalfEdgeIndex</a> (idx_he_cb);</div>
<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>&#160; </div>
<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>&#160;            <span class="keywordflow">if</span> (idx_he_cb_next == idx_he_ba) <span class="comment">// Vertex b is isolated</span></div>
<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>&#160;            {</div>
<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>&#160;              this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a62b4389cf1d19c7ae829056888651b54">markDeleted</a> (idx_v_b);</div>
<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>&#160;            }</div>
<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>&#160;            <span class="keywordflow">else</span></div>
<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>&#160;            {</div>
<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>&#160;              this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a953b3cece4af98f743a73450c557fdf3">connectPrevNext</a> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a58255271906702d47fcbe55d6f117be1">getPrevHalfEdgeIndex</a> (idx_he_ba), idx_he_cb_next);</div>
<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160;              this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a02d2f05b6256c3ac6fca45151adbd3e9">setOutgoingHalfEdgeIndex</a> (idx_v_b, idx_he_cb_next);</div>
<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>&#160;            }</div>
<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>&#160; </div>
<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>&#160;            this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a62b4389cf1d19c7ae829056888651b54">markDeleted</a> (idx_he_ab);</div>
<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>&#160;            this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a62b4389cf1d19c7ae829056888651b54">markDeleted</a> (idx_he_ba);</div>
<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>&#160;          }</div>
<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160;          <span class="keywordflow">else</span> <span class="keywordflow">if</span> (is_boundary_ba &amp;&amp; !is_boundary_cb) <span class="comment">// boundary - no boundary</span></div>
<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160;          {</div>
<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160;            this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a953b3cece4af98f743a73450c557fdf3">connectPrevNext</a> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a58255271906702d47fcbe55d6f117be1">getPrevHalfEdgeIndex</a> (idx_he_ba), idx_he_bc);</div>
<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>&#160;            this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a02d2f05b6256c3ac6fca45151adbd3e9">setOutgoingHalfEdgeIndex</a> (idx_v_b, idx_he_bc);</div>
<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160; </div>
<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160;            this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a62b4389cf1d19c7ae829056888651b54">markDeleted</a> (idx_he_ab);</div>
<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>&#160;            this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a62b4389cf1d19c7ae829056888651b54">markDeleted</a> (idx_he_ba);</div>
<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>&#160;          }</div>
<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>&#160;          <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!is_boundary_ba &amp;&amp; is_boundary_cb) <span class="comment">// no boundary - boundary</span></div>
<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>&#160;          {</div>
<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>&#160;            <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he_cb_next = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a06dfbe1db8d1f9c24eff51ebd4852652">getNextHalfEdgeIndex</a> (idx_he_cb);</div>
<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>&#160;            this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a953b3cece4af98f743a73450c557fdf3">connectPrevNext</a> (idx_he_ab, idx_he_cb_next);</div>
<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>&#160;            this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a02d2f05b6256c3ac6fca45151adbd3e9">setOutgoingHalfEdgeIndex</a> (idx_v_b, idx_he_cb_next);</div>
<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160;          }</div>
<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160;          <span class="keywordflow">else</span> <span class="comment">// no boundary - no boundary</span></div>
<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160;          {</div>
<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>&#160;            this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aed7cccc92709ab4a78b6a67d1167b247">reconnectNBNB</a> (idx_he_bc, idx_he_cb, idx_v_b, IsManifold ());</div>
<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>&#160;          }</div>
<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>&#160;        }</div>
<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160; </div>
<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l01657"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#aed7cccc92709ab4a78b6a67d1167b247"> 1657</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aed7cccc92709ab4a78b6a67d1167b247">reconnectNBNB</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he_bc,</div>
<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>&#160;                       <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he_cb,</div>
<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>&#160;                       <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp;   idx_v_b,</div>
<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>&#160;                       boost::true_type     <span class="comment">/*is_manifold*/</span>)</div>
<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>&#160;        {</div>
<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>&#160;          <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1318e10020901a4de7eb5bdd947cf669">isBoundary</a> (idx_v_b))</div>
<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>&#160;          {</div>
<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>&#160;            <span class="comment">// Deletion of this face makes the mesh non-manifold</span></div>
<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>&#160;            <span class="comment">// -&gt; delete the neighboring faces until it is manifold again</span></div>
<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>&#160;            <a class="code" href="classpcl_1_1geometry_1_1_incoming_half_edge_around_vertex_circulator.html">IncomingHalfEdgeAroundVertexCirculator</a> circ = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a3389ae4dcc4ca85e5adfdc33f48edc96">getIncomingHalfEdgeAroundVertexCirculator</a> (idx_he_cb);</div>
<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>&#160; </div>
<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>&#160;            <span class="keywordflow">while</span> (!this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1318e10020901a4de7eb5bdd947cf669">isBoundary</a> (circ.<a class="code" href="classpcl_1_1geometry_1_1_incoming_half_edge_around_vertex_circulator.html#a80013df6d142f28abab3551d7ebdc0db">getTargetIndex</a> ()))</div>
<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>&#160;            {</div>
<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>&#160;              <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a252af6e45d7db3021acee62ff2558a3a">delete_faces_face_</a>.push_back (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6547b360f64c3fce6ca9af1cfbf77ff">getFaceIndex</a> ((circ++).getTargetIndex ()));</div>
<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>&#160; </div>
<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160;<span class="preprocessor">#ifdef PCL_GEOMETRY_MESH_BASE_TEST_DELETE_FACE_MANIFOLD_2</span></div>
<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>&#160;              <span class="keywordflow">if</span> (circ == this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a3389ae4dcc4ca85e5adfdc33f48edc96">getIncomingHalfEdgeAroundVertexCirculator</a> (idx_he_cb)) <span class="comment">// Abort infinity loop</span></div>
<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160;              {</div>
<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160;                <span class="comment">// In a manifold mesh we can&#39;t invalidate the face while reconnecting!</span></div>
<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160;                <span class="comment">// See the implementation of</span></div>
<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160;                <span class="comment">// deleteFace (const FaceIndex&amp;  idx_face,</span></div>
<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160;                <span class="comment">//             boost::false_type /*is_manifold*/)</span></div>
<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160;                pcl::geometry::g_pcl_geometry_mesh_base_test_delete_face_manifold_2_success = <span class="keyword">false</span>;</div>
<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160;                <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>&#160;              }</div>
<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160;            }</div>
<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>&#160;          }</div>
<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160;          <span class="keywordflow">else</span></div>
<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160;          {</div>
<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160;            this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a02d2f05b6256c3ac6fca45151adbd3e9">setOutgoingHalfEdgeIndex</a> (idx_v_b, idx_he_bc);</div>
<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160;          }</div>
<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160;        }</div>
<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160; </div>
<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l01693"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a16306b8e5ec32045849cab9dc0cdbccc"> 1693</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a16306b8e5ec32045849cab9dc0cdbccc">reconnectNBNB</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he_bc,</div>
<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>&#160;                       <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; <span class="comment">/*idx_he_cb*/</span>,</div>
<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>&#160;                       <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp;   idx_v_b,</div>
<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>&#160;                       boost::false_type    <span class="comment">/*is_manifold*/</span>)</div>
<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>&#160;        {</div>
<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>&#160;          <span class="keywordflow">if</span> (!this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1318e10020901a4de7eb5bdd947cf669">isBoundary</a> (idx_v_b))</div>
<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>&#160;          {</div>
<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>&#160;            this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a02d2f05b6256c3ac6fca45151adbd3e9">setOutgoingHalfEdgeIndex</a> (idx_v_b, idx_he_bc);</div>
<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160;          }</div>
<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>&#160;        }</div>
<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>&#160; </div>
<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>&#160;        <span class="comment">// markDeleted</span></div>
<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l01710"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a62b4389cf1d19c7ae829056888651b54"> 1710</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a62b4389cf1d19c7ae829056888651b54">markDeleted</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp; idx_vertex)</div>
<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160;        {</div>
<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_vertex));</div>
<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a949065f206a49428ebc1169f39edab83">getVertex</a> (idx_vertex).<a class="code" href="classpcl_1_1geometry_1_1_vertex.html#a4e9f0c06933de42308774a0e63c07f97">idx_outgoing_half_edge_</a>.<a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html#ac33287d5c395e1b5cabd771424b4d8ee">invalidate</a> ();</div>
<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160;        }</div>
<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160; </div>
<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l01718"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a6fa46aeb0131a6e8ab988821626a9b34"> 1718</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a6fa46aeb0131a6e8ab988821626a9b34">markDeleted</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he)</div>
<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>&#160;        {</div>
<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_he));</div>
<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#afb6751c957f49de4295d345d724ce88c">getHalfEdge</a> (idx_he).<a class="code" href="classpcl_1_1geometry_1_1_half_edge.html#a9650b81a10558ea9a82cded655edea4a">idx_terminating_vertex_</a>.<a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html#afbf727a0f5ba13169db0ec5814070e2b">invalidate</a> ();</div>
<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>&#160;        }</div>
<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>&#160; </div>
<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l01726"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#ac92c74ee55571dc25e99425f699f4aac"> 1726</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ac92c74ee55571dc25e99425f699f4aac">markDeleted</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_edge_index.html">EdgeIndex</a>&amp; idx_edge)</div>
<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160;        {</div>
<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_edge));</div>
<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a62b4389cf1d19c7ae829056888651b54">markDeleted</a> (pcl::geometry::toHalfEdgeIndex (idx_edge, <span class="keyword">true</span>));</div>
<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a62b4389cf1d19c7ae829056888651b54">markDeleted</a> (pcl::geometry::toHalfEdgeIndex (idx_edge, <span class="keyword">false</span>));</div>
<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160;        }</div>
<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>&#160; </div>
<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l01735"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a528ba58fdc6198a6465134023503510f"> 1735</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a528ba58fdc6198a6465134023503510f">markDeleted</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a>&amp; idx_face)</div>
<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>&#160;        {</div>
<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_face));</div>
<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#afcb173f4e9c97479f64a351d9fab57d8">getFace</a> (idx_face).<a class="code" href="classpcl_1_1geometry_1_1_face.html#acaf95299b715d45cac2213eb9c4b74bc">idx_inner_half_edge_</a>.<a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html#ac33287d5c395e1b5cabd771424b4d8ee">invalidate</a> ();</div>
<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>&#160;        }</div>
<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>&#160; </div>
<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>&#160;        <span class="comment">// For cleanUp</span></div>
<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">class</span> ElementContainerT, <span class="keyword">class</span> DataContainerT, <span class="keyword">class</span> IndexContainerT, <span class="keyword">class</span> HasDataT&gt; IndexContainerT</div>
<div class="line"><a name="l01756"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#af7bd1b1b2ca096ce00e42044b68bd0f2"> 1756</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af7bd1b1b2ca096ce00e42044b68bd0f2">remove</a> (ElementContainerT&amp; elements, DataContainerT&amp; data_cloud)</div>
<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>&#160;        {</div>
<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>&#160;          <span class="keyword">typedef</span> <span class="keyword">typename</span> IndexContainerT::value_type   Index;</div>
<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>&#160;          <span class="keyword">typedef</span> <span class="keyword">typename</span> ElementContainerT::value_type Element;</div>
<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>&#160; </div>
<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>&#160;          <span class="keywordflow">if</span> (HasDataT::value) assert (elements.size () == data_cloud.size ());</div>
<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>&#160;          <span class="keywordflow">else</span>                 assert (data_cloud.empty ()); <span class="comment">// Bug in this class!</span></div>
<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>&#160; </div>
<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>&#160;          IndexContainerT new_indices (elements.size (), <span class="keyword">typename</span> IndexContainerT::value_type ());</div>
<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>&#160;          Index ind_old (0), ind_new (0);</div>
<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>&#160; </div>
<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>&#160;          <span class="keyword">typename</span> ElementContainerT::const_iterator it_e_old = elements.begin ();</div>
<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>&#160;          <span class="keyword">typename</span> ElementContainerT::iterator       it_e_new = elements.begin ();</div>
<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>&#160; </div>
<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>&#160;          <span class="keyword">typename</span> DataContainerT::const_iterator it_d_old = data_cloud.begin ();</div>
<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>&#160;          <span class="keyword">typename</span> DataContainerT::iterator       it_d_new = data_cloud.begin ();</div>
<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>&#160; </div>
<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>&#160;          <span class="keyword">typename</span> IndexContainerT::iterator       it_ind_new     = new_indices.begin ();</div>
<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span>&#160;          <span class="keyword">typename</span> IndexContainerT::const_iterator it_ind_new_end = new_indices.end ();</div>
<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span>&#160; </div>
<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>&#160;          <span class="keywordflow">while</span> (it_ind_new!=it_ind_new_end)</div>
<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>&#160;          {</div>
<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span>&#160;            <span class="keywordflow">if</span> (!this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aa114f7eeceeecdedfefc2d83d53c4f8b">isDeleted</a> (ind_old))</div>
<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>&#160;            {</div>
<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>&#160;              *it_ind_new = ind_new++;</div>
<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>&#160; </div>
<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>&#160;              <span class="comment">// TODO: Test for self assignment?</span></div>
<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span>&#160;              *it_e_new++ = *it_e_old;</div>
<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span>&#160;              this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ac30198b473de1a03abe20fb05464afb8">assignIf</a>    (it_d_old, it_d_new, HasDataT ());</div>
<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>&#160;              this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a00d8dcea3af77289df1bfa6112e33894">incrementIf</a> (          it_d_new, HasDataT ());</div>
<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span>&#160;            }</div>
<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span>&#160;            ++ind_old;</div>
<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span>&#160;            ++it_e_old;</div>
<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span>&#160;            this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a00d8dcea3af77289df1bfa6112e33894">incrementIf</a> (it_d_old, HasDataT ());</div>
<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span>&#160;            ++it_ind_new;</div>
<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span>&#160;          }</div>
<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span>&#160; </div>
<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>&#160;          elements.resize (ind_new.get (), Element ());</div>
<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>&#160;          <span class="keywordflow">if</span> (HasDataT::value)</div>
<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>&#160;          {</div>
<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>&#160;            data_cloud.resize (ind_new.get ());</div>
<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>&#160;          }</div>
<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>&#160;          <span class="keywordflow">else</span> <span class="keywordflow">if</span> (it_d_old != data_cloud.begin () || it_d_new != data_cloud.begin ())</div>
<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span>&#160;          {</div>
<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>&#160;            std::cerr &lt;&lt; <span class="stringliteral">&quot;TODO: Bug in MeshBase::remove!\n&quot;</span>;</div>
<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>&#160;            assert (<span class="keyword">false</span>);</div>
<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span>&#160;            exit (EXIT_FAILURE);</div>
<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>&#160;          }</div>
<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>&#160; </div>
<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>&#160;          <span class="keywordflow">return</span> (new_indices);</div>
<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>&#160;        }</div>
<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>&#160; </div>
<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">class</span> IteratorT&gt; <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l01810"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a00d8dcea3af77289df1bfa6112e33894"> 1810</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a00d8dcea3af77289df1bfa6112e33894">incrementIf</a> (IteratorT&amp; it, boost::true_type <span class="comment">/*has_data*/</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span>&#160;          ++it;</div>
<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span>&#160;        }</div>
<div class="line"><a name="l01814"></a><span class="lineno"> 1814</span>&#160; </div>
<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">class</span> IteratorT&gt; <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l01817"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#aada17589194ee19a530459e023968f52"> 1817</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aada17589194ee19a530459e023968f52">incrementIf</a> (IteratorT&amp; <span class="comment">/*it*/</span>, boost::false_type <span class="comment">/*has_data*/</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span>&#160;        }</div>
<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span>&#160; </div>
<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">class</span> ConstIteratorT, <span class="keyword">class</span> IteratorT&gt; <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l01823"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#ac30198b473de1a03abe20fb05464afb8"> 1823</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ac30198b473de1a03abe20fb05464afb8">assignIf</a> (<span class="keyword">const</span> ConstIteratorT source, IteratorT target, boost::true_type <span class="comment">/*has_data*/</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>&#160;          *target = *source;</div>
<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>&#160;        }</div>
<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>&#160; </div>
<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">class</span> ConstIteratorT, <span class="keyword">class</span> IteratorT&gt; <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l01830"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a643ad03f7a660359f41e38c3d0c9b426"> 1830</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a643ad03f7a660359f41e38c3d0c9b426">assignIf</a> (<span class="keyword">const</span> ConstIteratorT <span class="comment">/*source*/</span>, IteratorT <span class="comment">/*target*/</span>, boost::false_type <span class="comment">/*has_data*/</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span>&#160;        }</div>
<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span>&#160; </div>
<div class="line"><a name="l01835"></a><span class="lineno"> 1835</span>&#160;        <span class="comment">// Vertex / Half-edge / Face connectivity</span></div>
<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l01839"></a><span class="lineno"> 1839</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l01840"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a02d2f05b6256c3ac6fca45151adbd3e9"> 1840</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a02d2f05b6256c3ac6fca45151adbd3e9">setOutgoingHalfEdgeIndex</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp; idx_vertex, <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_outgoing_half_edge)</div>
<div class="line"><a name="l01841"></a><span class="lineno"> 1841</span>&#160;        {</div>
<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_vertex));</div>
<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a949065f206a49428ebc1169f39edab83">getVertex</a> (idx_vertex).<a class="code" href="classpcl_1_1geometry_1_1_vertex.html#a4e9f0c06933de42308774a0e63c07f97">idx_outgoing_half_edge_</a> = idx_outgoing_half_edge;</div>
<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span>&#160;        }</div>
<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span>&#160; </div>
<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l01848"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a8ab78ee0e1db2ce9c9d254f5b36b3cdd"> 1848</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8ab78ee0e1db2ce9c9d254f5b36b3cdd">setTerminatingVertexIndex</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_half_edge, <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp; idx_terminating_vertex)</div>
<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span>&#160;        {</div>
<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_half_edge));</div>
<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#afb6751c957f49de4295d345d724ce88c">getHalfEdge</a> (idx_half_edge).<a class="code" href="classpcl_1_1geometry_1_1_half_edge.html#a9650b81a10558ea9a82cded655edea4a">idx_terminating_vertex_</a> = idx_terminating_vertex;</div>
<div class="line"><a name="l01852"></a><span class="lineno"> 1852</span>&#160;        }</div>
<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span>&#160; </div>
<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l01856"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a0b29a2c3e3faf15dd5030e0f6d9b99c7"> 1856</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a0b29a2c3e3faf15dd5030e0f6d9b99c7">setNextHalfEdgeIndex</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_half_edge, <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_next_half_edge)</div>
<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>&#160;        {</div>
<div class="line"><a name="l01858"></a><span class="lineno"> 1858</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_half_edge));</div>
<div class="line"><a name="l01859"></a><span class="lineno"> 1859</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#afb6751c957f49de4295d345d724ce88c">getHalfEdge</a> (idx_half_edge).<a class="code" href="classpcl_1_1geometry_1_1_half_edge.html#a8b095e3d5e2f9a8975070a3dfd659339">idx_next_half_edge_</a> = idx_next_half_edge;</div>
<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span>&#160;        }</div>
<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span>&#160; </div>
<div class="line"><a name="l01863"></a><span class="lineno"> 1863</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l01864"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#ab2c06f58e2b38f903b2218ad7547bd0f"> 1864</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ab2c06f58e2b38f903b2218ad7547bd0f">setPrevHalfEdgeIndex</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_half_edge,</div>
<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span>&#160;                              <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_prev_half_edge)</div>
<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>&#160;        {</div>
<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_half_edge));</div>
<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#afb6751c957f49de4295d345d724ce88c">getHalfEdge</a> (idx_half_edge).<a class="code" href="classpcl_1_1geometry_1_1_half_edge.html#a8a5946c706e20d620fd4344fab56a064">idx_prev_half_edge_</a> = idx_prev_half_edge;</div>
<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>&#160;        }</div>
<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>&#160; </div>
<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l01873"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#adb4ece77ab1605520fec23946c585af8"> 1873</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#adb4ece77ab1605520fec23946c585af8">setFaceIndex</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_half_edge, <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a>&amp; idx_face)</div>
<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span>&#160;        {</div>
<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_half_edge));</div>
<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#afb6751c957f49de4295d345d724ce88c">getHalfEdge</a> (idx_half_edge).<a class="code" href="classpcl_1_1geometry_1_1_half_edge.html#a883869862bed1fa08b184d4839135922">idx_face_</a> = idx_face;</div>
<div class="line"><a name="l01877"></a><span class="lineno"> 1877</span>&#160;        }</div>
<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span>&#160; </div>
<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l01881"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#ae45961df8a57ff48f1d2d3d61b2e22e5"> 1881</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae45961df8a57ff48f1d2d3d61b2e22e5">setInnerHalfEdgeIndex</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a>&amp; idx_face, <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_inner_half_edge)</div>
<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span>&#160;        {</div>
<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_face));</div>
<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#afcb173f4e9c97479f64a351d9fab57d8">getFace</a> (idx_face).<a class="code" href="classpcl_1_1geometry_1_1_face.html#acaf95299b715d45cac2213eb9c4b74bc">idx_inner_half_edge_</a> = idx_inner_half_edge;</div>
<div class="line"><a name="l01885"></a><span class="lineno"> 1885</span>&#160;        }</div>
<div class="line"><a name="l01886"></a><span class="lineno"> 1886</span>&#160; </div>
<div class="line"><a name="l01888"></a><span class="lineno"> 1888</span>&#160;        <span class="comment">// isBoundary / isManifold</span></div>
<div class="line"><a name="l01890"></a><span class="lineno"> 1890</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l01892"></a><span class="lineno"> 1892</span>&#160;        <span class="keywordtype">bool</span></div>
<div class="line"><a name="l01893"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a21d69163e63732aebf3cf693d624b772"> 1893</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a21d69163e63732aebf3cf693d624b772">isBoundary</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a>&amp; idx_face, boost::true_type <span class="comment">/*check_vertices*/</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01895"></a><span class="lineno"> 1895</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_vertex_around_face_circulator.html">VertexAroundFaceCirculator</a>       circ     = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a86e8b2d7ccde25e97d4452a9c63a2be6">getVertexAroundFaceCirculator</a> (idx_face);</div>
<div class="line"><a name="l01896"></a><span class="lineno"> 1896</span>&#160;          <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_around_face_circulator.html">VertexAroundFaceCirculator</a> circ_end = circ;</div>
<div class="line"><a name="l01897"></a><span class="lineno"> 1897</span>&#160; </div>
<div class="line"><a name="l01898"></a><span class="lineno"> 1898</span>&#160;          <span class="keywordflow">do</span></div>
<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span>&#160;          {</div>
<div class="line"><a name="l01900"></a><span class="lineno"> 1900</span>&#160;            <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1318e10020901a4de7eb5bdd947cf669">isBoundary</a> (circ.<a class="code" href="classpcl_1_1geometry_1_1_vertex_around_face_circulator.html#a44b725644d72c21f529a895eaa5aa09d">getTargetIndex</a> ()))</div>
<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span>&#160;            {</div>
<div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>&#160;              <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span>&#160;            }</div>
<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span>&#160;          } <span class="keywordflow">while</span> (++circ!=circ_end);</div>
<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span>&#160; </div>
<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>&#160;          <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span>&#160;        }</div>
<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>&#160; </div>
<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>&#160;        <span class="keywordtype">bool</span></div>
<div class="line"><a name="l01911"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a4a809976733aa66b8c8fe95423fe6135"> 1911</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a4a809976733aa66b8c8fe95423fe6135">isBoundary</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a>&amp; idx_face, boost::false_type <span class="comment">/*check_vertices*/</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_outer_half_edge_around_face_circulator.html">OuterHalfEdgeAroundFaceCirculator</a>       circ     = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aefe2d565191d2e35a6a4ad8b2f0773b5">getOuterHalfEdgeAroundFaceCirculator</a> (idx_face);</div>
<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>&#160;          <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_outer_half_edge_around_face_circulator.html">OuterHalfEdgeAroundFaceCirculator</a> circ_end = circ;</div>
<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>&#160; </div>
<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>&#160;          <span class="keywordflow">do</span></div>
<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>&#160;          {</div>
<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>&#160;            <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1318e10020901a4de7eb5bdd947cf669">isBoundary</a> (circ.<a class="code" href="classpcl_1_1geometry_1_1_outer_half_edge_around_face_circulator.html#a5a973737b232302d8601488f89820f37">getTargetIndex</a> ()))</div>
<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>&#160;            {</div>
<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>&#160;              <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span>&#160;            }</div>
<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>&#160;          } <span class="keywordflow">while</span> (++circ!=circ_end);</div>
<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span>&#160; </div>
<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span>&#160;          <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>&#160;        }</div>
<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>&#160; </div>
<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l01929"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a787568a0b149684e3705d40c451297eb"> 1929</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a787568a0b149684e3705d40c451297eb">isManifold</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp;, boost::true_type <span class="comment">/*is_manifold*/</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>&#160;          <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>&#160;        }</div>
<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>&#160; </div>
<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span>&#160;        <span class="keywordtype">bool</span></div>
<div class="line"><a name="l01936"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#ac1a03911040a6d3d1a216e53d9ebcb29"> 1936</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ac1a03911040a6d3d1a216e53d9ebcb29">isManifold</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp; idx_vertex, boost::false_type <span class="comment">/*is_manifold*/</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_outgoing_half_edge_around_vertex_circulator.html">OutgoingHalfEdgeAroundVertexCirculator</a>       circ     = this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a76d6a2a322ad9723d8c16c6ac6adb079">getOutgoingHalfEdgeAroundVertexCirculator</a> (idx_vertex);</div>
<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span>&#160;          <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_outgoing_half_edge_around_vertex_circulator.html">OutgoingHalfEdgeAroundVertexCirculator</a> circ_end = circ;</div>
<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>&#160; </div>
<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>&#160;          <span class="keywordflow">if</span> (!this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1318e10020901a4de7eb5bdd947cf669">isBoundary</a> ((circ++).getTargetIndex ())) <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>&#160;          <span class="keywordflow">do</span></div>
<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>&#160;          {</div>
<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>&#160;            <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1318e10020901a4de7eb5bdd947cf669">isBoundary</a> (circ.<a class="code" href="classpcl_1_1geometry_1_1_outgoing_half_edge_around_vertex_circulator.html#a12a33e71c4e2eac5fa148aa8ba791179">getTargetIndex</a> ())) <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>&#160;          } <span class="keywordflow">while</span> (++circ != circ_end);</div>
<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>&#160; </div>
<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>&#160;          <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>&#160;        }</div>
<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span>&#160; </div>
<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l01952"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a079dccf845645f0393d69b7d0023a085"> 1952</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a079dccf845645f0393d69b7d0023a085">isManifold</a> (boost::true_type <span class="comment">/*is_manifold*/</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>&#160;          <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span>&#160;        }</div>
<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span>&#160; </div>
<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span>&#160;        <span class="keywordtype">bool</span></div>
<div class="line"><a name="l01959"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#afb3c96f3094b1a279504d0fb9c5eba7e"> 1959</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#afb3c96f3094b1a279504d0fb9c5eba7e">isManifold</a> (boost::false_type <span class="comment">/*is_manifold*/</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span>&#160;          <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i=0; i&lt;this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a52baa83cf38a51bf35ab81a4d2d456c2">sizeVertices</a> (); ++i)</div>
<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span>&#160;          {</div>
<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span>&#160;            <span class="keywordflow">if</span> (!this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aed1c1b4f45d8cd9d4f357df69cd16eff">isManifold</a> (VertexIndex (i))) <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span>&#160;          }</div>
<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span>&#160;          <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span>&#160;        }</div>
<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>&#160; </div>
<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span>&#160;        <span class="comment">// reserveData / resizeData / clearData</span></div>
<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">class</span> DataCloudT&gt; <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l01974"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a6211a83e7ec8d9f66bf7abe4a63deecd"> 1974</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a6211a83e7ec8d9f66bf7abe4a63deecd">reserveData</a> (DataCloudT&amp; cloud, <span class="keyword">const</span> <span class="keywordtype">size_t</span> n, boost::true_type <span class="comment">/*has_data*/</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span>&#160;          cloud.reserve (n);</div>
<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span>&#160;        }</div>
<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span>&#160; </div>
<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">class</span> DataCloudT&gt; <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l01981"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a77d2fcbf03177678ddf120724aa3aa06"> 1981</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a77d2fcbf03177678ddf120724aa3aa06">reserveData</a> (DataCloudT&amp; <span class="comment">/*cloud*/</span>, <span class="keyword">const</span> <span class="keywordtype">size_t</span> <span class="comment">/*n*/</span>, boost::false_type <span class="comment">/*has_data*/</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span>&#160;        }</div>
<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span>&#160; </div>
<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">class</span> DataCloudT&gt; <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l01987"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a9a6cde6548efcae7705e5af1d1510674"> 1987</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a9a6cde6548efcae7705e5af1d1510674">resizeData</a> (DataCloudT&amp; <span class="comment">/*data_cloud*/</span>, <span class="keyword">const</span> <span class="keywordtype">size_t</span> n, <span class="keyword">const</span> <span class="keyword">typename</span> DataCloudT::value_type&amp; data, boost::true_type <span class="comment">/*has_data*/</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span>&#160;          data.resize (n, data);</div>
<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span>&#160;        }</div>
<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span>&#160; </div>
<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">class</span> DataCloudT&gt; <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l01994"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#ac604f2eb2c859766916bcf23cce0a06d"> 1994</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ac604f2eb2c859766916bcf23cce0a06d">resizeData</a> (DataCloudT&amp; <span class="comment">/*data_cloud*/</span>, <span class="keyword">const</span> <span class="keywordtype">size_t</span> <span class="comment">/*n*/</span>, <span class="keyword">const</span> <span class="keyword">typename</span> DataCloudT::value_type&amp; <span class="comment">/*data*/</span>, boost::false_type <span class="comment">/*has_data*/</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span>&#160;        }</div>
<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span>&#160; </div>
<div class="line"><a name="l01999"></a><span class="lineno"> 1999</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">class</span> DataCloudT&gt; <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l02000"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a6005c01c43ae611bb64d04f338b11e8e"> 2000</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a6005c01c43ae611bb64d04f338b11e8e">clearData</a> (DataCloudT&amp; cloud, boost::true_type <span class="comment">/*has_data*/</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l02001"></a><span class="lineno"> 2001</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l02002"></a><span class="lineno"> 2002</span>&#160;          cloud.clear ();</div>
<div class="line"><a name="l02003"></a><span class="lineno"> 2003</span>&#160;        }</div>
<div class="line"><a name="l02004"></a><span class="lineno"> 2004</span>&#160; </div>
<div class="line"><a name="l02006"></a><span class="lineno"> 2006</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">class</span> DataCloudT&gt; <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l02007"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#ae790281e343db61f27f0a890f493201a"> 2007</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae790281e343db61f27f0a890f493201a">clearData</a> (DataCloudT&amp; <span class="comment">/*cloud*/</span>, boost::false_type <span class="comment">/*has_data*/</span>)<span class="keyword"> const</span></div>
<div class="line"><a name="l02008"></a><span class="lineno"> 2008</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l02009"></a><span class="lineno"> 2009</span>&#160;        }</div>
<div class="line"><a name="l02010"></a><span class="lineno"> 2010</span>&#160; </div>
<div class="line"><a name="l02012"></a><span class="lineno"> 2012</span>&#160;        <span class="comment">// get / set Vertex</span></div>
<div class="line"><a name="l02014"></a><span class="lineno"> 2014</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex.html">Vertex</a>&amp;</div>
<div class="line"><a name="l02017"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a949065f206a49428ebc1169f39edab83"> 2017</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a949065f206a49428ebc1169f39edab83">getVertex</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp; idx_vertex)</div>
<div class="line"><a name="l02018"></a><span class="lineno"> 2018</span>&#160;        {</div>
<div class="line"><a name="l02019"></a><span class="lineno"> 2019</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_vertex));</div>
<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af19892220ae9323428a6544bda84658b">vertices_</a> [idx_vertex.<a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html#a0da72716c3f34b2db6ef8c1a269e28a5">get</a> ()]);</div>
<div class="line"><a name="l02021"></a><span class="lineno"> 2021</span>&#160;        }</div>
<div class="line"><a name="l02022"></a><span class="lineno"> 2022</span>&#160; </div>
<div class="line"><a name="l02024"></a><span class="lineno"> 2024</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex.html">Vertex</a></div>
<div class="line"><a name="l02025"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a5a68751110b806710e024698cd613c32"> 2025</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a5a68751110b806710e024698cd613c32">getVertex</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp; idx_vertex)<span class="keyword"> const</span></div>
<div class="line"><a name="l02026"></a><span class="lineno"> 2026</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l02027"></a><span class="lineno"> 2027</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_vertex));</div>
<div class="line"><a name="l02028"></a><span class="lineno"> 2028</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af19892220ae9323428a6544bda84658b">vertices_</a> [idx_vertex.<a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html#a0da72716c3f34b2db6ef8c1a269e28a5">get</a> ()]);</div>
<div class="line"><a name="l02029"></a><span class="lineno"> 2029</span>&#160;        }</div>
<div class="line"><a name="l02030"></a><span class="lineno"> 2030</span>&#160; </div>
<div class="line"><a name="l02032"></a><span class="lineno"> 2032</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l02033"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a74022f448b47a5b0b486133628b43da8"> 2033</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a74022f448b47a5b0b486133628b43da8">setVertex</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html">VertexIndex</a>&amp; idx_vertex, <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_vertex.html">Vertex</a>&amp; vertex)</div>
<div class="line"><a name="l02034"></a><span class="lineno"> 2034</span>&#160;        {</div>
<div class="line"><a name="l02035"></a><span class="lineno"> 2035</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_vertex));</div>
<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af19892220ae9323428a6544bda84658b">vertices_</a> [idx_vertex.<a class="code" href="classpcl_1_1geometry_1_1_vertex_index.html#a0da72716c3f34b2db6ef8c1a269e28a5">get</a> ()] = vertex;</div>
<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span>&#160;        }</div>
<div class="line"><a name="l02038"></a><span class="lineno"> 2038</span>&#160; </div>
<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span>&#160;        <span class="comment">// get / set HalfEdge</span></div>
<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge.html">HalfEdge</a>&amp;</div>
<div class="line"><a name="l02045"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#afb6751c957f49de4295d345d724ce88c"> 2045</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#afb6751c957f49de4295d345d724ce88c">getHalfEdge</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he)</div>
<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span>&#160;        {</div>
<div class="line"><a name="l02047"></a><span class="lineno"> 2047</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_he));</div>
<div class="line"><a name="l02048"></a><span class="lineno"> 2048</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a43f1f694e8cc619c619940e96c55b36d">half_edges_</a> [idx_he.<a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html#a79cf05ebdff5009f3b8fa62707309cb7">get</a> ()]);</div>
<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span>&#160;        }</div>
<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span>&#160; </div>
<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge.html">HalfEdge</a></div>
<div class="line"><a name="l02053"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#afcb42a465dc29719b7ccc1363230bedc"> 2053</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#afcb42a465dc29719b7ccc1363230bedc">getHalfEdge</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he)<span class="keyword"> const</span></div>
<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_he));</div>
<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a43f1f694e8cc619c619940e96c55b36d">half_edges_</a> [idx_he.<a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html#a79cf05ebdff5009f3b8fa62707309cb7">get</a> ()]);</div>
<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span>&#160;        }</div>
<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span>&#160; </div>
<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l02061"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a266993b1bdf7095c0e75d3e80427bc7b"> 2061</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a266993b1bdf7095c0e75d3e80427bc7b">setHalfEdge</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html">HalfEdgeIndex</a>&amp; idx_he, <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_half_edge.html">HalfEdge</a>&amp; half_edge)</div>
<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span>&#160;        {</div>
<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_he));</div>
<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a43f1f694e8cc619c619940e96c55b36d">half_edges_</a> [idx_he.<a class="code" href="classpcl_1_1geometry_1_1_half_edge_index.html#a79cf05ebdff5009f3b8fa62707309cb7">get</a> ()] = half_edge;</div>
<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span>&#160;        }</div>
<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span>&#160; </div>
<div class="line"><a name="l02068"></a><span class="lineno"> 2068</span>&#160;        <span class="comment">// get / set Face</span></div>
<div class="line"><a name="l02070"></a><span class="lineno"> 2070</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l02072"></a><span class="lineno"> 2072</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_face.html">Face</a>&amp;</div>
<div class="line"><a name="l02073"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#afcb173f4e9c97479f64a351d9fab57d8"> 2073</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#afcb173f4e9c97479f64a351d9fab57d8">getFace</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a>&amp; idx_face)</div>
<div class="line"><a name="l02074"></a><span class="lineno"> 2074</span>&#160;        {</div>
<div class="line"><a name="l02075"></a><span class="lineno"> 2075</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_face));</div>
<div class="line"><a name="l02076"></a><span class="lineno"> 2076</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8b3dcd0be1230d8cc27ed70a0aaac8d0">faces_</a> [idx_face.<a class="code" href="classpcl_1_1geometry_1_1_face_index.html#a6907f082300ae5b1bbfc0d6760c94883">get</a> ()]);</div>
<div class="line"><a name="l02077"></a><span class="lineno"> 2077</span>&#160;        }</div>
<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span>&#160; </div>
<div class="line"><a name="l02080"></a><span class="lineno"> 2080</span>&#160;        <span class="keyword">inline</span> <a class="code" href="classpcl_1_1geometry_1_1_face.html">Face</a></div>
<div class="line"><a name="l02081"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a9fd8168c9e0cfb2261289c053849e8d5"> 2081</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a9fd8168c9e0cfb2261289c053849e8d5">getFace</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a>&amp; idx_face)<span class="keyword"> const</span></div>
<div class="line"><a name="l02082"></a><span class="lineno"> 2082</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l02083"></a><span class="lineno"> 2083</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_face));</div>
<div class="line"><a name="l02084"></a><span class="lineno"> 2084</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8b3dcd0be1230d8cc27ed70a0aaac8d0">faces_</a> [idx_face.<a class="code" href="classpcl_1_1geometry_1_1_face_index.html#a6907f082300ae5b1bbfc0d6760c94883">get</a> ()]);</div>
<div class="line"><a name="l02085"></a><span class="lineno"> 2085</span>&#160;        }</div>
<div class="line"><a name="l02086"></a><span class="lineno"> 2086</span>&#160; </div>
<div class="line"><a name="l02088"></a><span class="lineno"> 2088</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l02089"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#aa5565dd87531f80e92d3bca5c70c92de"> 2089</a></span>&#160;        <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#aa5565dd87531f80e92d3bca5c70c92de">setFace</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face_index.html">FaceIndex</a>&amp; idx_face, <span class="keyword">const</span> <a class="code" href="classpcl_1_1geometry_1_1_face.html">Face</a>&amp; face)</div>
<div class="line"><a name="l02090"></a><span class="lineno"> 2090</span>&#160;        {</div>
<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span>&#160;          assert (this-&gt;<a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">isValid</a> (idx_face));</div>
<div class="line"><a name="l02092"></a><span class="lineno"> 2092</span>&#160;          <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8b3dcd0be1230d8cc27ed70a0aaac8d0">faces_</a> [idx_face.<a class="code" href="classpcl_1_1geometry_1_1_face_index.html#a6907f082300ae5b1bbfc0d6760c94883">get</a> ()] = face;</div>
<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span>&#160;        }</div>
<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span>&#160; </div>
<div class="line"><a name="l02095"></a><span class="lineno"> 2095</span>&#160;      <span class="keyword">private</span>:</div>
<div class="line"><a name="l02096"></a><span class="lineno"> 2096</span>&#160; </div>
<div class="line"><a name="l02098"></a><span class="lineno"> 2098</span>&#160;        <span class="comment">// Members</span></div>
<div class="line"><a name="l02100"></a><span class="lineno"> 2100</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l02102"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#ae472d8311af5200ab6d7d3347aab9fb1"> 2102</a></span>&#160;        <a class="code" href="classpcl_1_1_point_cloud.html">VertexDataCloud</a> <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae472d8311af5200ab6d7d3347aab9fb1">vertex_data_cloud_</a>;</div>
<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span>&#160; </div>
<div class="line"><a name="l02105"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#ac9ed388ef2ab0769901c953146946294"> 2105</a></span>&#160;        <a class="code" href="classpcl_1_1_point_cloud.html">HalfEdgeDataCloud</a> <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ac9ed388ef2ab0769901c953146946294">half_edge_data_cloud_</a>;</div>
<div class="line"><a name="l02106"></a><span class="lineno"> 2106</span>&#160; </div>
<div class="line"><a name="l02108"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6cc2e588af6754985ebb958a1835c91"> 2108</a></span>&#160;        <a class="code" href="classpcl_1_1_point_cloud.html">EdgeDataCloud</a> <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#ae6cc2e588af6754985ebb958a1835c91">edge_data_cloud_</a>;</div>
<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span>&#160; </div>
<div class="line"><a name="l02111"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a2a0de549a87f8926f4fa2d99d19873a9"> 2111</a></span>&#160;        <a class="code" href="classpcl_1_1_point_cloud.html">FaceDataCloud</a> <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a2a0de549a87f8926f4fa2d99d19873a9">face_data_cloud_</a>;</div>
<div class="line"><a name="l02112"></a><span class="lineno"> 2112</span>&#160; </div>
<div class="line"><a name="l02114"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#af19892220ae9323428a6544bda84658b"> 2114</a></span>&#160;        Vertices <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af19892220ae9323428a6544bda84658b">vertices_</a>;</div>
<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span>&#160; </div>
<div class="line"><a name="l02117"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a43f1f694e8cc619c619940e96c55b36d"> 2117</a></span>&#160;        HalfEdges <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a43f1f694e8cc619c619940e96c55b36d">half_edges_</a>;</div>
<div class="line"><a name="l02118"></a><span class="lineno"> 2118</span>&#160; </div>
<div class="line"><a name="l02120"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a8b3dcd0be1230d8cc27ed70a0aaac8d0"> 2120</a></span>&#160;        Faces <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8b3dcd0be1230d8cc27ed70a0aaac8d0">faces_</a>;</div>
<div class="line"><a name="l02121"></a><span class="lineno"> 2121</span>&#160; </div>
<div class="line"><a name="l02122"></a><span class="lineno"> 2122</span>&#160;        <span class="comment">// NOTE: It is MUCH faster to store these variables permamently.</span></div>
<div class="line"><a name="l02123"></a><span class="lineno"> 2123</span>&#160; </div>
<div class="line"><a name="l02125"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf"> 2125</a></span>&#160;        HalfEdgeIndices <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">inner_he_</a>;</div>
<div class="line"><a name="l02126"></a><span class="lineno"> 2126</span>&#160; </div>
<div class="line"><a name="l02128"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a9be3165b6f4a99da9701ebd33169cba5"> 2128</a></span>&#160;        HalfEdgeIndices <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a9be3165b6f4a99da9701ebd33169cba5">free_he_</a>;</div>
<div class="line"><a name="l02129"></a><span class="lineno"> 2129</span>&#160; </div>
<div class="line"><a name="l02131"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a8cd15b09cbebf457d9e6886c87704f22"> 2131</a></span>&#160;        std::vector &lt;bool&gt; <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a8cd15b09cbebf457d9e6886c87704f22">is_new_</a>;</div>
<div class="line"><a name="l02132"></a><span class="lineno"> 2132</span>&#160; </div>
<div class="line"><a name="l02134"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#af37b14f3d563a9bda93403082f26917f"> 2134</a></span>&#160;        std::vector &lt;bool&gt; <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#af37b14f3d563a9bda93403082f26917f">make_adjacent_</a>;</div>
<div class="line"><a name="l02135"></a><span class="lineno"> 2135</span>&#160; </div>
<div class="line"><a name="l02137"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a1b4226400b93828d6313374f2d1f69af"> 2137</a></span>&#160;        std::vector &lt;bool&gt; <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a1b4226400b93828d6313374f2d1f69af">is_boundary_</a>;</div>
<div class="line"><a name="l02138"></a><span class="lineno"> 2138</span>&#160; </div>
<div class="line"><a name="l02140"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a97f75dffac433d99357930f394968c81"> 2140</a></span>&#160;        FaceIndices <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a97f75dffac433d99357930f394968c81">delete_faces_vertex_</a>;</div>
<div class="line"><a name="l02141"></a><span class="lineno"> 2141</span>&#160; </div>
<div class="line"><a name="l02143"></a><span class="lineno"><a class="line" href="classpcl_1_1geometry_1_1_mesh_base.html#a252af6e45d7db3021acee62ff2558a3a"> 2143</a></span>&#160;        FaceIndices <a class="code" href="classpcl_1_1geometry_1_1_mesh_base.html#a252af6e45d7db3021acee62ff2558a3a">delete_faces_face_</a>;</div>
<div class="line"><a name="l02144"></a><span class="lineno"> 2144</span>&#160; </div>
<div class="line"><a name="l02145"></a><span class="lineno"> 2145</span>&#160;      <span class="keyword">public</span>:</div>
<div class="line"><a name="l02146"></a><span class="lineno"> 2146</span>&#160; </div>
<div class="line"><a name="l02147"></a><span class="lineno"> 2147</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">class</span> MeshT&gt;</div>
<div class="line"><a name="l02148"></a><span class="lineno"> 2148</span>&#160;        <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classpcl_1_1geometry_1_1_mesh_i_o.html">pcl::geometry::MeshIO</a>;</div>
<div class="line"><a name="l02149"></a><span class="lineno"> 2149</span>&#160; </div>
<div class="line"><a name="l02150"></a><span class="lineno"> 2150</span>&#160;        EIGEN_MAKE_ALIGNED_OPERATOR_NEW</div>
<div class="line"><a name="l02151"></a><span class="lineno"> 2151</span>&#160;    };</div>
<div class="line"><a name="l02152"></a><span class="lineno"> 2152</span>&#160;  } <span class="comment">// End namespace geometry</span></div>
<div class="line"><a name="l02153"></a><span class="lineno"> 2153</span>&#160;} <span class="comment">// End namespace pcl</span></div>
<div class="line"><a name="l02154"></a><span class="lineno"> 2154</span>&#160; </div>
<div class="line"><a name="l02155"></a><span class="lineno"> 2155</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// PCL_GEOMETRY_MESH_BASE_H</span></div>
<div class="ttc" id="aclasspcl_1_1_point_cloud_html"><div class="ttname"><a href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt; VertexData &gt;</a></div></div>
<div class="ttc" id="aclasspcl_1_1_point_cloud_html_a0b4d7abee110e47d90635eb042488bb4"><div class="ttname"><a href="classpcl_1_1_point_cloud.html#a0b4d7abee110e47d90635eb042488bb4">pcl::PointCloud::push_back</a></div><div class="ttdeci">void push_back(const PointT &amp;pt)</div><div class="ttdoc">Insert a new point in the cloud, at the end of the container.</div><div class="ttdef"><b>Definition:</b> point_cloud.h:480</div></div>
<div class="ttc" id="aclasspcl_1_1_point_cloud_html_a2d60b6927b31ef89cd3b97e8173ea4aa"><div class="ttname"><a href="classpcl_1_1_point_cloud.html#a2d60b6927b31ef89cd3b97e8173ea4aa">pcl::PointCloud::resize</a></div><div class="ttdeci">void resize(size_t n)</div><div class="ttdoc">Resize the cloud</div><div class="ttdef"><b>Definition:</b> point_cloud.h:455</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_edge_index_html"><div class="ttname"><a href="classpcl_1_1geometry_1_1_edge_index.html">pcl::geometry::EdgeIndex</a></div><div class="ttdoc">Index used to access elements in the half-edge mesh. It is basically just a wrapper around an integer...</div><div class="ttdef"><b>Definition:</b> mesh_indices.h:345</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_face_around_face_circulator_html"><div class="ttname"><a href="classpcl_1_1geometry_1_1_face_around_face_circulator.html">pcl::geometry::FaceAroundFaceCirculator</a></div><div class="ttdoc">Circulates clockwise around a face and returns an index to the face of the outer half-edge (the targe...</div><div class="ttdef"><b>Definition:</b> mesh_circulators.h:826</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_face_around_vertex_circulator_html"><div class="ttname"><a href="classpcl_1_1geometry_1_1_face_around_vertex_circulator.html">pcl::geometry::FaceAroundVertexCirculator</a></div><div class="ttdoc">Circulates counter-clockwise around a vertex and returns an index to the face of the outgoing half-ed...</div><div class="ttdef"><b>Definition:</b> mesh_circulators.h:392</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_face_around_vertex_circulator_html_a395359f719c2444e4aaff59560a7b41b"><div class="ttname"><a href="classpcl_1_1geometry_1_1_face_around_vertex_circulator.html#a395359f719c2444e4aaff59560a7b41b">pcl::geometry::FaceAroundVertexCirculator::getTargetIndex</a></div><div class="ttdeci">FaceIndex getTargetIndex() const</div><div class="ttdoc">Get the index to the target face.</div><div class="ttdef"><b>Definition:</b> mesh_circulators.h:461</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_face_html"><div class="ttname"><a href="classpcl_1_1geometry_1_1_face.html">pcl::geometry::Face</a></div><div class="ttdoc">A face is a closed loop of edges.</div><div class="ttdef"><b>Definition:</b> mesh_elements.h:166</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_face_html_acaf95299b715d45cac2213eb9c4b74bc"><div class="ttname"><a href="classpcl_1_1geometry_1_1_face.html#acaf95299b715d45cac2213eb9c4b74bc">pcl::geometry::Face::idx_inner_half_edge_</a></div><div class="ttdeci">HalfEdgeIndex idx_inner_half_edge_</div><div class="ttdoc">Index to the inner half-edge. The face is considered to be deleted if it stores an invalid inner half...</div><div class="ttdef"><b>Definition:</b> mesh_elements.h:179</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_face_index_html"><div class="ttname"><a href="classpcl_1_1geometry_1_1_face_index.html">pcl::geometry::FaceIndex</a></div><div class="ttdoc">Index used to access elements in the half-edge mesh. It is basically just a wrapper around an integer...</div><div class="ttdef"><b>Definition:</b> mesh_indices.h:484</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_face_index_html_a00ab847d99ddfe50a3c59fb5387532b8"><div class="ttname"><a href="classpcl_1_1geometry_1_1_face_index.html#a00ab847d99ddfe50a3c59fb5387532b8">pcl::geometry::FaceIndex::isValid</a></div><div class="ttdeci">bool isValid() const</div><div class="ttdoc">Returns true if the index is valid.</div><div class="ttdef"><b>Definition:</b> mesh_indices.h:508</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_face_index_html_a6907f082300ae5b1bbfc0d6760c94883"><div class="ttname"><a href="classpcl_1_1geometry_1_1_face_index.html#a6907f082300ae5b1bbfc0d6760c94883">pcl::geometry::FaceIndex::get</a></div><div class="ttdeci">int get() const</div><div class="ttdoc">Get the index.</div><div class="ttdef"><b>Definition:</b> mesh_indices.h:522</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_face_index_html_af150a49c829ab35ff9d6e7159d04907e"><div class="ttname"><a href="classpcl_1_1geometry_1_1_face_index.html#af150a49c829ab35ff9d6e7159d04907e">pcl::geometry::FaceIndex::invalidate</a></div><div class="ttdeci">void invalidate()</div><div class="ttdoc">Invalidate the index.</div><div class="ttdef"><b>Definition:</b> mesh_indices.h:515</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_half_edge_html"><div class="ttname"><a href="classpcl_1_1geometry_1_1_half_edge.html">pcl::geometry::HalfEdge</a></div><div class="ttdoc">An edge is a connection between two vertices. In a half-edge mesh the edge is split into two half-edg...</div><div class="ttdef"><b>Definition:</b> mesh_elements.h:108</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_half_edge_html_a883869862bed1fa08b184d4839135922"><div class="ttname"><a href="classpcl_1_1geometry_1_1_half_edge.html#a883869862bed1fa08b184d4839135922">pcl::geometry::HalfEdge::idx_face_</a></div><div class="ttdeci">FaceIndex idx_face_</div><div class="ttdoc">Index to the face. The half-edge is considered to be on the boundary if it stores an invalid face ind...</div><div class="ttdef"><b>Definition:</b> mesh_elements.h:142</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_half_edge_html_a8a5946c706e20d620fd4344fab56a064"><div class="ttname"><a href="classpcl_1_1geometry_1_1_half_edge.html#a8a5946c706e20d620fd4344fab56a064">pcl::geometry::HalfEdge::idx_prev_half_edge_</a></div><div class="ttdeci">HalfEdgeIndex idx_prev_half_edge_</div><div class="ttdoc">Index to the previous half-edge.</div><div class="ttdef"><b>Definition:</b> mesh_elements.h:139</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_half_edge_html_a8b095e3d5e2f9a8975070a3dfd659339"><div class="ttname"><a href="classpcl_1_1geometry_1_1_half_edge.html#a8b095e3d5e2f9a8975070a3dfd659339">pcl::geometry::HalfEdge::idx_next_half_edge_</a></div><div class="ttdeci">HalfEdgeIndex idx_next_half_edge_</div><div class="ttdoc">Index to the next half-edge.</div><div class="ttdef"><b>Definition:</b> mesh_elements.h:136</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_half_edge_html_a9650b81a10558ea9a82cded655edea4a"><div class="ttname"><a href="classpcl_1_1geometry_1_1_half_edge.html#a9650b81a10558ea9a82cded655edea4a">pcl::geometry::HalfEdge::idx_terminating_vertex_</a></div><div class="ttdeci">VertexIndex idx_terminating_vertex_</div><div class="ttdoc">Index to the terminating vertex. The half-edge is considered to be deleted if it stores an invalid te...</div><div class="ttdef"><b>Definition:</b> mesh_elements.h:133</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_half_edge_index_html"><div class="ttname"><a href="classpcl_1_1geometry_1_1_half_edge_index.html">pcl::geometry::HalfEdgeIndex</a></div><div class="ttdoc">Index used to access elements in the half-edge mesh. It is basically just a wrapper around an integer...</div><div class="ttdef"><b>Definition:</b> mesh_indices.h:206</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_half_edge_index_html_a79cf05ebdff5009f3b8fa62707309cb7"><div class="ttname"><a href="classpcl_1_1geometry_1_1_half_edge_index.html#a79cf05ebdff5009f3b8fa62707309cb7">pcl::geometry::HalfEdgeIndex::get</a></div><div class="ttdeci">int get() const</div><div class="ttdoc">Get the index.</div><div class="ttdef"><b>Definition:</b> mesh_indices.h:244</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_half_edge_index_html_ac33287d5c395e1b5cabd771424b4d8ee"><div class="ttname"><a href="classpcl_1_1geometry_1_1_half_edge_index.html#ac33287d5c395e1b5cabd771424b4d8ee">pcl::geometry::HalfEdgeIndex::invalidate</a></div><div class="ttdeci">void invalidate()</div><div class="ttdoc">Invalidate the index.</div><div class="ttdef"><b>Definition:</b> mesh_indices.h:237</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_incoming_half_edge_around_vertex_circulator_html"><div class="ttname"><a href="classpcl_1_1geometry_1_1_incoming_half_edge_around_vertex_circulator.html">pcl::geometry::IncomingHalfEdgeAroundVertexCirculator</a></div><div class="ttdoc">Circulates counter-clockwise around a vertex and returns an index to the incoming half-edge (the targ...</div><div class="ttdef"><b>Definition:</b> mesh_circulators.h:284</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_incoming_half_edge_around_vertex_circulator_html_a80013df6d142f28abab3551d7ebdc0db"><div class="ttname"><a href="classpcl_1_1geometry_1_1_incoming_half_edge_around_vertex_circulator.html#a80013df6d142f28abab3551d7ebdc0db">pcl::geometry::IncomingHalfEdgeAroundVertexCirculator::getTargetIndex</a></div><div class="ttdeci">HalfEdgeIndex getTargetIndex() const</div><div class="ttdoc">Get the index to the incoming half-edge.</div><div class="ttdef"><b>Definition:</b> mesh_circulators.h:352</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_inner_half_edge_around_face_circulator_html"><div class="ttname"><a href="classpcl_1_1geometry_1_1_inner_half_edge_around_face_circulator.html">pcl::geometry::InnerHalfEdgeAroundFaceCirculator</a></div><div class="ttdoc">Circulates clockwise around a face and returns an index to the inner half-edge (the target)....</div><div class="ttdef"><b>Definition:</b> mesh_circulators.h:610</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_inner_half_edge_around_face_circulator_html_a7768afee3590e2ccd6a91d24e4de2fd9"><div class="ttname"><a href="classpcl_1_1geometry_1_1_inner_half_edge_around_face_circulator.html#a7768afee3590e2ccd6a91d24e4de2fd9">pcl::geometry::InnerHalfEdgeAroundFaceCirculator::getTargetIndex</a></div><div class="ttdeci">HalfEdgeIndex getTargetIndex() const</div><div class="ttdoc">Get the index to the inner half-edge.</div><div class="ttdef"><b>Definition:</b> mesh_circulators.h:678</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html">pcl::geometry::MeshBase</a></div><div class="ttdoc">Base class for the half-edge mesh.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:99</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a00d8dcea3af77289df1bfa6112e33894"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a00d8dcea3af77289df1bfa6112e33894">pcl::geometry::MeshBase::incrementIf</a></div><div class="ttdeci">void incrementIf(IteratorT &amp;it, boost::true_type) const</div><div class="ttdoc">Increment the iterator.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1810</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a02d2f05b6256c3ac6fca45151adbd3e9"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a02d2f05b6256c3ac6fca45151adbd3e9">pcl::geometry::MeshBase::setOutgoingHalfEdgeIndex</a></div><div class="ttdeci">void setOutgoingHalfEdgeIndex(const VertexIndex &amp;idx_vertex, const HalfEdgeIndex &amp;idx_outgoing_half_edge)</div><div class="ttdoc">Set the outgoing half-edge index to a given vertex.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1840</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a06dfbe1db8d1f9c24eff51ebd4852652"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a06dfbe1db8d1f9c24eff51ebd4852652">pcl::geometry::MeshBase::getNextHalfEdgeIndex</a></div><div class="ttdeci">HalfEdgeIndex getNextHalfEdgeIndex(const HalfEdgeIndex &amp;idx_half_edge) const</div><div class="ttdoc">Get the next half-edge index to a given half-edge.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:384</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a079dccf845645f0393d69b7d0023a085"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a079dccf845645f0393d69b7d0023a085">pcl::geometry::MeshBase::isManifold</a></div><div class="ttdeci">bool isManifold(boost::true_type) const</div><div class="ttdoc">Always manifold.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1952</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a0b250b2635f95c10202f73b34a5ec240"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a0b250b2635f95c10202f73b34a5ec240">pcl::geometry::MeshBase::isDeleted</a></div><div class="ttdeci">bool isDeleted(const FaceIndex &amp;idx_face) const</div><div class="ttdoc">Check if the given face is marked as deleted.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:671</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a0b29a2c3e3faf15dd5030e0f6d9b99c7"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a0b29a2c3e3faf15dd5030e0f6d9b99c7">pcl::geometry::MeshBase::setNextHalfEdgeIndex</a></div><div class="ttdeci">void setNextHalfEdgeIndex(const HalfEdgeIndex &amp;idx_half_edge, const HalfEdgeIndex &amp;idx_next_half_edge)</div><div class="ttdoc">Set the next half_edge index to a given half-edge.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1856</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a100c6f21e1e05ee3d70f64c35070193b"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a100c6f21e1e05ee3d70f64c35070193b">pcl::geometry::MeshBase::emptyVertices</a></div><div class="ttdeci">bool emptyVertices() const</div><div class="ttdoc">Check if the vertices are empty.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:804</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a112b693465d5fb31297509f081209c64"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a112b693465d5fb31297509f081209c64">pcl::geometry::MeshBase::getFaceDataCloud</a></div><div class="ttdeci">FaceDataCloud getFaceDataCloud() const</div><div class="ttdoc">Get the stored face data.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1030</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a1305a470f59e6c8e05c68011c0197deb"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a1305a470f59e6c8e05c68011c0197deb">pcl::geometry::MeshBase::reserveVertices</a></div><div class="ttdeci">void reserveVertices(const size_t n)</div><div class="ttdoc">Reserve storage space n vertices.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:829</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a1318e10020901a4de7eb5bdd947cf669"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a1318e10020901a4de7eb5bdd947cf669">pcl::geometry::MeshBase::isBoundary</a></div><div class="ttdeci">bool isBoundary(const VertexIndex &amp;idx_vertex) const</div><div class="ttdoc">Check if the given vertex lies on the boundary. Isolated vertices are considered to be on the boundar...</div><div class="ttdef"><b>Definition:</b> mesh_base.h:695</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a138e4db9aa95de0b5b9a4c8033eaa3be"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a138e4db9aa95de0b5b9a4c8033eaa3be">pcl::geometry::MeshBase::getVertexAroundVertexCirculator</a></div><div class="ttdeci">VertexAroundVertexCirculator getVertexAroundVertexCirculator(const HalfEdgeIndex &amp;idx_outgoing_half_edge) const</div><div class="ttdef"><b>Definition:</b> mesh_base.h:448</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a142a340e5b5cb10d86f4e1d49b3de90a"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a142a340e5b5cb10d86f4e1d49b3de90a">pcl::geometry::MeshBase::getInnerHalfEdgeAroundFaceCirculator</a></div><div class="ttdeci">InnerHalfEdgeAroundFaceCirculator getInnerHalfEdgeAroundFaceCirculator(const HalfEdgeIndex &amp;idx_inner_half_edge) const</div><div class="ttdef"><b>Definition:</b> mesh_base.h:528</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a14d9be6a61b0476b46d5435ac615c459"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a14d9be6a61b0476b46d5435ac615c459">pcl::geometry::MeshBase::MeshBase</a></div><div class="ttdeci">MeshBase()</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:153</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a162bb8d66161e125929cd907ce48e710"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a162bb8d66161e125929cd907ce48e710">pcl::geometry::MeshBase::deleteEdge</a></div><div class="ttdeci">void deleteEdge(const EdgeIndex &amp;idx_edge)</div><div class="ttdoc">Mark the given edge (both half-edges) and the associated faces as deleted.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:252</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a16306b8e5ec32045849cab9dc0cdbccc"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a16306b8e5ec32045849cab9dc0cdbccc">pcl::geometry::MeshBase::reconnectNBNB</a></div><div class="ttdeci">void reconnectNBNB(const HalfEdgeIndex &amp;idx_he_bc, const HalfEdgeIndex &amp;, const VertexIndex &amp;idx_v_b, boost::false_type)</div><div class="ttdoc">Both edges are not on the boundary. Non-manifold version.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1693</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a17ce476f53a6e99c6de3996bb217674c"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a17ce476f53a6e99c6de3996bb217674c">pcl::geometry::MeshBase::getVertexAroundVertexCirculator</a></div><div class="ttdeci">VertexAroundVertexCirculator getVertexAroundVertexCirculator(const VertexIndex &amp;idx_vertex) const</div><div class="ttdef"><b>Definition:</b> mesh_base.h:440</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a18850a81cabcf16597a2418f67df452c"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a18850a81cabcf16597a2418f67df452c">pcl::geometry::MeshBase::deleteFace</a></div><div class="ttdeci">void deleteFace(const FaceIndex &amp;idx_face)</div><div class="ttdoc">Mark the given face as deleted. More faces are deleted if the manifold mesh would become non-manifold...</div><div class="ttdef"><b>Definition:</b> mesh_base.h:263</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a1ad369f17f660e59cb8fc3ac5ad17104"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a1ad369f17f660e59cb8fc3ac5ad17104">pcl::geometry::MeshBase::reserveFaces</a></div><div class="ttdeci">void reserveFaces(const size_t n)</div><div class="ttdoc">Reserve storage space for n faces.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:846</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a1b4226400b93828d6313374f2d1f69af"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a1b4226400b93828d6313374f2d1f69af">pcl::geometry::MeshBase::is_boundary_</a></div><div class="ttdeci">std::vector&lt; bool &gt; is_boundary_</div><div class="ttdoc">Storage for deleteFace.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2137</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a1f085bbc37e1866a850d6707f2839877"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a1f085bbc37e1866a850d6707f2839877">pcl::geometry::MeshBase::getEdgeIndex</a></div><div class="ttdeci">EdgeIndex getEdgeIndex(const EdgeData &amp;edge_data) const</div><div class="ttdoc">Get the index associated to the given edge data.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1091</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a1f3e4696e4a6dd299dbe94fd23ffbb37"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a1f3e4696e4a6dd299dbe94fd23ffbb37">pcl::geometry::MeshBase::getOppositeHalfEdgeIndex</a></div><div class="ttdeci">HalfEdgeIndex getOppositeHalfEdgeIndex(const HalfEdgeIndex &amp;idx_half_edge) const</div><div class="ttdoc">Get the opposite half-edge index to a given half-edge.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:375</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a1f508f37008a35cb0a75e031f96cc436"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a1f508f37008a35cb0a75e031f96cc436">pcl::geometry::MeshBase::getOuterHalfEdgeIndex</a></div><div class="ttdeci">HalfEdgeIndex getOuterHalfEdgeIndex(const FaceIndex &amp;idx_face) const</div><div class="ttdoc">Get the outer half-edge inex to a given face.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:428</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a205ed992a9a4ae55610dc546eb9ff07e"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a205ed992a9a4ae55610dc546eb9ff07e">pcl::geometry::MeshBase::emptyEdges</a></div><div class="ttdeci">bool emptyEdges() const</div><div class="ttdoc">Check if the edges are empty.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:811</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a21d69163e63732aebf3cf693d624b772"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a21d69163e63732aebf3cf693d624b772">pcl::geometry::MeshBase::isBoundary</a></div><div class="ttdeci">bool isBoundary(const FaceIndex &amp;idx_face, boost::true_type) const</div><div class="ttdoc">Check if any vertex of the face lies on the boundary.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1893</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a22c4d0b82719c61474f1c10ae9165273"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a22c4d0b82719c61474f1c10ae9165273">pcl::geometry::MeshBase::getVertexAroundFaceCirculator</a></div><div class="ttdeci">VertexAroundFaceCirculator getVertexAroundFaceCirculator(const HalfEdgeIndex &amp;idx_inner_half_edge) const</div><div class="ttdef"><b>Definition:</b> mesh_base.h:512</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a251c66c8ea515e6bd0de7ebe7d37efde"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a251c66c8ea515e6bd0de7ebe7d37efde">pcl::geometry::MeshBase::connectNewNew</a></div><div class="ttdeci">void connectNewNew(const HalfEdgeIndex &amp;idx_he_ab, const HalfEdgeIndex &amp;idx_he_bc, const VertexIndex &amp;idx_v_b, boost::false_type)</div><div class="ttdoc">Both half-edges are new (non-manifold version).</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1424</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a252af6e45d7db3021acee62ff2558a3a"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a252af6e45d7db3021acee62ff2558a3a">pcl::geometry::MeshBase::delete_faces_face_</a></div><div class="ttdeci">FaceIndices delete_faces_face_</div><div class="ttdoc">Storage for deleteFace.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2143</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a266993b1bdf7095c0e75d3e80427bc7b"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a266993b1bdf7095c0e75d3e80427bc7b">pcl::geometry::MeshBase::setHalfEdge</a></div><div class="ttdeci">void setHalfEdge(const HalfEdgeIndex &amp;idx_he, const HalfEdge &amp;half_edge)</div><div class="ttdoc">Set the half-edge at the given index.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2061</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a26fea9d6bb071ed14dba8dd590cbab71"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a26fea9d6bb071ed14dba8dd590cbab71">pcl::geometry::MeshBase::connectOldOld</a></div><div class="ttdeci">void connectOldOld(const HalfEdgeIndex &amp;, const HalfEdgeIndex &amp;, const VertexIndex &amp;, boost::true_type)</div><div class="ttdoc">Both half-edges are old (manifold version).</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1480</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a275168373d4ed9f2787abd3be6f78597"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a275168373d4ed9f2787abd3be6f78597">pcl::geometry::MeshBase::connectFace</a></div><div class="ttdeci">FaceIndex connectFace(const HalfEdgeIndices &amp;inner_he, const FaceData &amp;face_data)</div><div class="ttdoc">Add a face to the mesh and connect it to the half-edges.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1381</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a2a0de549a87f8926f4fa2d99d19873a9"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a2a0de549a87f8926f4fa2d99d19873a9">pcl::geometry::MeshBase::face_data_cloud_</a></div><div class="ttdeci">FaceDataCloud face_data_cloud_</div><div class="ttdoc">Data stored for the faces.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2111</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a2a83029bd5d8fa5633edf20cc0f45473"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a2a83029bd5d8fa5633edf20cc0f45473">pcl::geometry::MeshBase::getHalfEdgeIndex</a></div><div class="ttdeci">HalfEdgeIndex getHalfEdgeIndex(const HalfEdgeData &amp;half_edge_data) const</div><div class="ttdoc">Get the index associated to the given half-edge data.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1076</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a2b67d93436ffa5f81b370d9f0a4ab608"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a2b67d93436ffa5f81b370d9f0a4ab608">pcl::geometry::MeshBase::getHalfEdgeDataCloud</a></div><div class="ttdeci">HalfEdgeDataCloud getHalfEdgeDataCloud() const</div><div class="ttdoc">Get the stored half-edge data.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:954</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a2f0d60f62c1363856eb9dfe619f87db2"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a2f0d60f62c1363856eb9dfe619f87db2">pcl::geometry::MeshBase::addData</a></div><div class="ttdeci">void addData(pcl::PointCloud&lt; DataT &gt; &amp;cloud, const DataT &amp;data, boost::true_type)</div><div class="ttdoc">Add mesh data.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1520</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a32be29ab6c40c5a4a8a8c0895080ca43"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a32be29ab6c40c5a4a8a8c0895080ca43">pcl::geometry::MeshBase::isBoundary</a></div><div class="ttdeci">bool isBoundary(const HalfEdgeIndex &amp;idx_he) const</div><div class="ttdoc">Check if the given half-edge lies on the bounddary.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:704</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a3389ae4dcc4ca85e5adfdc33f48edc96"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a3389ae4dcc4ca85e5adfdc33f48edc96">pcl::geometry::MeshBase::getIncomingHalfEdgeAroundVertexCirculator</a></div><div class="ttdeci">IncomingHalfEdgeAroundVertexCirculator getIncomingHalfEdgeAroundVertexCirculator(const VertexIndex &amp;idx_vertex) const</div><div class="ttdef"><b>Definition:</b> mesh_base.h:472</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a34a312e02ba5bd42a15bc8120ae6dbd9"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a34a312e02ba5bd42a15bc8120ae6dbd9">pcl::geometry::MeshBase::reconnect</a></div><div class="ttdeci">void reconnect(const HalfEdgeIndex &amp;idx_he_ab, const HalfEdgeIndex &amp;idx_he_bc, const bool is_boundary_ba, const bool is_boundary_cb)</div><div class="ttdoc">Deconnect the input half-edges from the mesh and adjust the indices of the connected half-edges.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1609</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a365f1f65496b17f9ab5c51edae4a7782"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a365f1f65496b17f9ab5c51edae4a7782">pcl::geometry::MeshBase::setEdgeDataCloud</a></div><div class="ttdeci">bool setEdgeDataCloud(const EdgeDataCloud &amp;edge_data_cloud)</div><div class="ttdoc">Change the stored edge data.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1002</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a3afd6487aca2233205b4ce813ccd7be4"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a3afd6487aca2233205b4ce813ccd7be4">pcl::geometry::MeshBase::checkTopology1</a></div><div class="ttdeci">bool checkTopology1(const VertexIndex &amp;idx_v_a, const VertexIndex &amp;idx_v_b, HalfEdgeIndex &amp;idx_he_ab, std::vector&lt; bool &gt;::reference is_new_ab, boost::false_type) const</div><div class="ttdoc">Non manifold version of checkTopology1</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1264</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a3c30f9b4f2c62b35eb70fa46e48f6024"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a3c30f9b4f2c62b35eb70fa46e48f6024">pcl::geometry::MeshBase::getInnerHalfEdgeAroundFaceCirculator</a></div><div class="ttdeci">InnerHalfEdgeAroundFaceCirculator getInnerHalfEdgeAroundFaceCirculator(const FaceIndex &amp;idx_face) const</div><div class="ttdef"><b>Definition:</b> mesh_base.h:520</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a4114e62f96a84751f1b0b8abbca760c6"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a4114e62f96a84751f1b0b8abbca760c6">pcl::geometry::MeshBase::connectNewNew</a></div><div class="ttdeci">void connectNewNew(const HalfEdgeIndex &amp;idx_he_ab, const HalfEdgeIndex &amp;idx_he_bc, const VertexIndex &amp;idx_v_b, boost::true_type)</div><div class="ttdoc">Both half-edges are new (manifold version).</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1408</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a41348d880d4db2791b117ce53ac0844d"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a41348d880d4db2791b117ce53ac0844d">pcl::geometry::MeshBase::emptyFaces</a></div><div class="ttdeci">bool emptyFaces() const</div><div class="ttdoc">Check if the faces are empty.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:818</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a41c3621ed5b27cbb87cb8a898f2ced25"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a41c3621ed5b27cbb87cb8a898f2ced25">pcl::geometry::MeshBase::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdoc">Check if the mesh is empty.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:797</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a422dba202580736060898b65c1dde8dd"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a422dba202580736060898b65c1dde8dd">pcl::geometry::MeshBase::getIncomingHalfEdgeAroundVertexCirculator</a></div><div class="ttdeci">IncomingHalfEdgeAroundVertexCirculator getIncomingHalfEdgeAroundVertexCirculator(const HalfEdgeIndex &amp;idx_incoming_half_edge) const</div><div class="ttdef"><b>Definition:</b> mesh_base.h:480</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a428be4accd7f51c75d2e889d99205535"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a428be4accd7f51c75d2e889d99205535">pcl::geometry::MeshBase::deleteVertex</a></div><div class="ttdeci">void deleteVertex(const VertexIndex &amp;idx_vertex)</div><div class="ttdoc">Mark the given vertex and all connected half-edges and faces as deleted.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:209</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a43f1f694e8cc619c619940e96c55b36d"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a43f1f694e8cc619c619940e96c55b36d">pcl::geometry::MeshBase::half_edges_</a></div><div class="ttdeci">HalfEdges half_edges_</div><div class="ttdoc">Connectivity information for the half-edges.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2117</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a44727455a0a52caba9b444cd408db3e4"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a44727455a0a52caba9b444cd408db3e4">pcl::geometry::MeshBase::sizeHalfEdges</a></div><div class="ttdeci">size_t sizeHalfEdges() const</div><div class="ttdoc">Get the number of the half-edges.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:770</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a45023314f8c909925b671be55bc68a16"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a45023314f8c909925b671be55bc68a16">pcl::geometry::MeshBase::connectOldNew</a></div><div class="ttdeci">void connectOldNew(const HalfEdgeIndex &amp;idx_he_ab, const HalfEdgeIndex &amp;idx_he_bc, const VertexIndex &amp;idx_v_b)</div><div class="ttdoc">The second half-edge is new.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1465</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a45f308f4bc78a27803bca707856345fa"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a45f308f4bc78a27803bca707856345fa">pcl::geometry::MeshBase::resizeFaces</a></div><div class="ttdeci">void resizeFaces(const size_t n, const FaceData &amp;data=FaceData())</div><div class="ttdoc">Resize the faces to n elements.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:877</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a479a1fb135090564e36a7ed69560c89a"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a479a1fb135090564e36a7ed69560c89a">pcl::geometry::MeshBase::sizeEdges</a></div><div class="ttdeci">size_t sizeEdges() const</div><div class="ttdoc">Get the number of the edges.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:778</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a4848866528fc0e8a64197f91498defa0"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a4848866528fc0e8a64197f91498defa0">pcl::geometry::MeshBase::setHalfEdgeDataCloud</a></div><div class="ttdeci">bool setHalfEdgeDataCloud(const HalfEdgeDataCloud &amp;half_edge_data_cloud)</div><div class="ttdoc">Change the stored half-edge data.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:964</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a495b6156425295d926afdbcc4e34fc30"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a495b6156425295d926afdbcc4e34fc30">pcl::geometry::MeshBase::getOriginatingVertexIndex</a></div><div class="ttdeci">VertexIndex getOriginatingVertexIndex(const HalfEdgeIndex &amp;idx_half_edge) const</div><div class="ttdoc">Get the originating vertex index to a given half-edge.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:367</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a4a809976733aa66b8c8fe95423fe6135"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a4a809976733aa66b8c8fe95423fe6135">pcl::geometry::MeshBase::isBoundary</a></div><div class="ttdeci">bool isBoundary(const FaceIndex &amp;idx_face, boost::false_type) const</div><div class="ttdoc">Check if any edge of the face lies on the boundary.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1911</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a4affa8ade9d394034ce299bf7fd95af1"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a4affa8ade9d394034ce299bf7fd95af1">pcl::geometry::MeshBase::deleteEdge</a></div><div class="ttdeci">void deleteEdge(const HalfEdgeIndex &amp;idx_he)</div><div class="ttdoc">Mark the given half-edge, the opposite half-edge and the associated faces as deleted.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:235</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a528ba58fdc6198a6465134023503510f"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a528ba58fdc6198a6465134023503510f">pcl::geometry::MeshBase::markDeleted</a></div><div class="ttdeci">void markDeleted(const FaceIndex &amp;idx_face)</div><div class="ttdoc">Mark the given face as deleted.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1735</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a52baa83cf38a51bf35ab81a4d2d456c2"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a52baa83cf38a51bf35ab81a4d2d456c2">pcl::geometry::MeshBase::sizeVertices</a></div><div class="ttdeci">size_t sizeVertices() const</div><div class="ttdoc">Get the number of the vertices.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:763</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a5470d21fc93156f145190d1b783f9fa2"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a5470d21fc93156f145190d1b783f9fa2">pcl::geometry::MeshBase::getOutgoingHalfEdgeAroundVertexCirculator</a></div><div class="ttdeci">OutgoingHalfEdgeAroundVertexCirculator getOutgoingHalfEdgeAroundVertexCirculator(const HalfEdgeIndex &amp;idx_outgoing_half_edge) const</div><div class="ttdef"><b>Definition:</b> mesh_base.h:464</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a558324489cd62f54825fedd6f228fcc0"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a558324489cd62f54825fedd6f228fcc0">pcl::geometry::MeshBase::getInnerHalfEdgeIndex</a></div><div class="ttdeci">HalfEdgeIndex getInnerHalfEdgeIndex(const FaceIndex &amp;idx_face) const</div><div class="ttdoc">Get the inner half-edge index to a given face.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:420</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a58255271906702d47fcbe55d6f117be1"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a58255271906702d47fcbe55d6f117be1">pcl::geometry::MeshBase::getPrevHalfEdgeIndex</a></div><div class="ttdeci">HalfEdgeIndex getPrevHalfEdgeIndex(const HalfEdgeIndex &amp;idx_half_edge) const</div><div class="ttdoc">Get the previous half-edge index to a given half-edge.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:392</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a582a4ea3ce387865fde824816fffb6ca"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a582a4ea3ce387865fde824816fffb6ca">pcl::geometry::MeshBase::setFaceDataCloud</a></div><div class="ttdeci">bool setFaceDataCloud(const FaceDataCloud &amp;face_data_cloud)</div><div class="ttdoc">Change the stored face data.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1040</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a59a6e48c3f3275d65caf9d90139f7b30"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a59a6e48c3f3275d65caf9d90139f7b30">pcl::geometry::MeshBase::getOuterHalfEdgeAroundFaceCirculator</a></div><div class="ttdeci">OuterHalfEdgeAroundFaceCirculator getOuterHalfEdgeAroundFaceCirculator(const HalfEdgeIndex &amp;idx_inner_half_edge) const</div><div class="ttdef"><b>Definition:</b> mesh_base.h:544</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a5a68751110b806710e024698cd613c32"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a5a68751110b806710e024698cd613c32">pcl::geometry::MeshBase::getVertex</a></div><div class="ttdeci">Vertex getVertex(const VertexIndex &amp;idx_vertex) const</div><div class="ttdoc">Get the vertex for the given index.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2025</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a5bfa23555bbed2097f7e55ea563c48c8"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a5bfa23555bbed2097f7e55ea563c48c8">pcl::geometry::MeshBase::addFaceImplBase</a></div><div class="ttdeci">FaceIndex addFaceImplBase(const VertexIndices &amp;vertices, const FaceData &amp;face_data, const EdgeData &amp;edge_data, const HalfEdgeData &amp;half_edge_data)</div><div class="ttdoc">General implementation of addFace.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1144</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a6005c01c43ae611bb64d04f338b11e8e"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a6005c01c43ae611bb64d04f338b11e8e">pcl::geometry::MeshBase::clearData</a></div><div class="ttdeci">void clearData(DataCloudT &amp;cloud, boost::true_type) const</div><div class="ttdoc">Clear the mesh data.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2000</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a6196f8dc951e889c7b5a23c841939606"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a6196f8dc951e889c7b5a23c841939606">pcl::geometry::MeshBase::checkTopology2</a></div><div class="ttdeci">bool checkTopology2(const HalfEdgeIndex &amp;idx_he_ab, const HalfEdgeIndex &amp;idx_he_bc, const bool is_new_ab, const bool is_new_bc, const bool, std::vector&lt; bool &gt;::reference make_adjacent_ab_bc, HalfEdgeIndex &amp;idx_free_half_edge, boost::false_type) const</div><div class="ttdoc">Check if the half-edge bc is the next half-edge of ab.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1317</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a6211a83e7ec8d9f66bf7abe4a63deecd"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a6211a83e7ec8d9f66bf7abe4a63deecd">pcl::geometry::MeshBase::reserveData</a></div><div class="ttdeci">void reserveData(DataCloudT &amp;cloud, const size_t n, boost::true_type) const</div><div class="ttdoc">Reserve storage space for the mesh data.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1974</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a62b4389cf1d19c7ae829056888651b54"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a62b4389cf1d19c7ae829056888651b54">pcl::geometry::MeshBase::markDeleted</a></div><div class="ttdeci">void markDeleted(const VertexIndex &amp;idx_vertex)</div><div class="ttdoc">Mark the given vertex as deleted.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1710</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a6337a69d1d50217e4de671d3025f236e"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a6337a69d1d50217e4de671d3025f236e">pcl::geometry::MeshBase::setVertexDataCloud</a></div><div class="ttdeci">bool setVertexDataCloud(const VertexDataCloud &amp;vertex_data_cloud)</div><div class="ttdoc">Change the stored vertex data.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:926</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a643ad03f7a660359f41e38c3d0c9b426"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a643ad03f7a660359f41e38c3d0c9b426">pcl::geometry::MeshBase::assignIf</a></div><div class="ttdeci">void assignIf(const ConstIteratorT, IteratorT, boost::false_type) const</div><div class="ttdoc">Does nothing.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1830</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a68c13e85605765881e3d885197f35fc3"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a68c13e85605765881e3d885197f35fc3">pcl::geometry::MeshBase::getEdgeDataCloud</a></div><div class="ttdeci">EdgeDataCloud &amp; getEdgeDataCloud()</div><div class="ttdoc">Get access to the stored edge data.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:985</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a6bfa77d242a657c796f188fb78bc9ba2"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a6bfa77d242a657c796f188fb78bc9ba2">pcl::geometry::MeshBase::isValid</a></div><div class="ttdeci">bool isValid(const HalfEdgeIndex &amp;idx_he) const</div><div class="ttdoc">Check if the given half-edge index is a valid index into the mesh.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:621</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a6dab4428fb080c797338827ed7dd96d4"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a6dab4428fb080c797338827ed7dd96d4">pcl::geometry::MeshBase::checkTopology2</a></div><div class="ttdeci">bool checkTopology2(const HalfEdgeIndex &amp;, const HalfEdgeIndex &amp;, const bool is_new_ab, const bool is_new_bc, const bool is_isolated_b, std::vector&lt; bool &gt;::reference, HalfEdgeIndex &amp;, boost::true_type) const</div><div class="ttdoc">Check if the face may be added (mesh does not become non-manifold).</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1294</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a6fa46aeb0131a6e8ab988821626a9b34"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a6fa46aeb0131a6e8ab988821626a9b34">pcl::geometry::MeshBase::markDeleted</a></div><div class="ttdeci">void markDeleted(const HalfEdgeIndex &amp;idx_he)</div><div class="ttdoc">Mark the given half-edge as deleted.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1718</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a74022f448b47a5b0b486133628b43da8"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a74022f448b47a5b0b486133628b43da8">pcl::geometry::MeshBase::setVertex</a></div><div class="ttdeci">void setVertex(const VertexIndex &amp;idx_vertex, const Vertex &amp;vertex)</div><div class="ttdoc">Set the vertex at the given index.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2033</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a75f4aa39aa1a9bf6405f66599625cc54"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a75f4aa39aa1a9bf6405f66599625cc54">pcl::geometry::MeshBase::resizeEdges</a></div><div class="ttdeci">void resizeEdges(const size_t n, const EdgeData &amp;edge_data=EdgeData(), const HalfEdgeData he_data=HalfEdgeData())</div><div class="ttdoc">Resize the edges to n elements (half-edges will hold 2*n elements).</div><div class="ttdef"><b>Definition:</b> mesh_base.h:866</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a766a074742c13a0c3f868c15f0c4001a"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a766a074742c13a0c3f868c15f0c4001a">pcl::geometry::MeshBase::deleteFace</a></div><div class="ttdeci">void deleteFace(const FaceIndex &amp;idx_face, boost::false_type)</div><div class="ttdoc">Non-manifold version of deleteFace.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1557</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a76d6a2a322ad9723d8c16c6ac6adb079"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a76d6a2a322ad9723d8c16c6ac6adb079">pcl::geometry::MeshBase::getOutgoingHalfEdgeAroundVertexCirculator</a></div><div class="ttdeci">OutgoingHalfEdgeAroundVertexCirculator getOutgoingHalfEdgeAroundVertexCirculator(const VertexIndex &amp;idx_vertex) const</div><div class="ttdef"><b>Definition:</b> mesh_base.h:456</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a77d2fcbf03177678ddf120724aa3aa06"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a77d2fcbf03177678ddf120724aa3aa06">pcl::geometry::MeshBase::reserveData</a></div><div class="ttdeci">void reserveData(DataCloudT &amp;, const size_t, boost::false_type) const</div><div class="ttdoc">Does nothing</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1981</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a787568a0b149684e3705d40c451297eb"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a787568a0b149684e3705d40c451297eb">pcl::geometry::MeshBase::isManifold</a></div><div class="ttdeci">bool isManifold(const VertexIndex &amp;, boost::true_type) const</div><div class="ttdoc">Always manifold.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1929</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a79c2cc7cfbccb8dbb5769c55a7b15d04"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a79c2cc7cfbccb8dbb5769c55a7b15d04">pcl::geometry::MeshBase::getVertexIndex</a></div><div class="ttdeci">VertexIndex getVertexIndex(const VertexData &amp;vertex_data) const</div><div class="ttdoc">Get the index associated to the given vertex data.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1061</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a8468ea5d1de5586172d54becd3fabef8"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a8468ea5d1de5586172d54becd3fabef8">pcl::geometry::MeshBase::deleteFace</a></div><div class="ttdeci">void deleteFace(const FaceIndex &amp;idx_face, boost::true_type)</div><div class="ttdoc">Manifold version of deleteFace. If the mesh becomes non-manifold due to the delete operation the face...</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1538</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a84a277d60719ee1d6793b2f5e54c64fc"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a84a277d60719ee1d6793b2f5e54c64fc">pcl::geometry::MeshBase::isValid</a></div><div class="ttdeci">bool isValid(const EdgeIndex &amp;idx_edge) const</div><div class="ttdoc">Check if the given edge index is a valid index into the mesh.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:628</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a85c16666dbdf7d8c8cce217a68134694"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a85c16666dbdf7d8c8cce217a68134694">pcl::geometry::MeshBase::sizeFaces</a></div><div class="ttdeci">size_t sizeFaces() const</div><div class="ttdoc">Get the number of the faces.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:786</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a86e8b2d7ccde25e97d4452a9c63a2be6"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a86e8b2d7ccde25e97d4452a9c63a2be6">pcl::geometry::MeshBase::getVertexAroundFaceCirculator</a></div><div class="ttdeci">VertexAroundFaceCirculator getVertexAroundFaceCirculator(const FaceIndex &amp;idx_face) const</div><div class="ttdef"><b>Definition:</b> mesh_base.h:504</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a8ab78ee0e1db2ce9c9d254f5b36b3cdd"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a8ab78ee0e1db2ce9c9d254f5b36b3cdd">pcl::geometry::MeshBase::setTerminatingVertexIndex</a></div><div class="ttdeci">void setTerminatingVertexIndex(const HalfEdgeIndex &amp;idx_half_edge, const VertexIndex &amp;idx_terminating_vertex)</div><div class="ttdoc">Set the terminating vertex index to a given half-edge.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1848</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a8b3dcd0be1230d8cc27ed70a0aaac8d0"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a8b3dcd0be1230d8cc27ed70a0aaac8d0">pcl::geometry::MeshBase::faces_</a></div><div class="ttdeci">Faces faces_</div><div class="ttdoc">Connectivity information for the faces.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2120</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a8c583da87f1680b80536952fefb7b6aa"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a8c583da87f1680b80536952fefb7b6aa">pcl::geometry::MeshBase::isValid</a></div><div class="ttdeci">bool isValid(const FaceIndex &amp;idx_face) const</div><div class="ttdoc">Check if the given face index is a valid index into the mesh.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:635</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a8cd15b09cbebf457d9e6886c87704f22"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a8cd15b09cbebf457d9e6886c87704f22">pcl::geometry::MeshBase::is_new_</a></div><div class="ttdeci">std::vector&lt; bool &gt; is_new_</div><div class="ttdoc">Storage for addFaceImplBase.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2131</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a9405be1d72b2a7bb1ec0bdc5c13c297a"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a9405be1d72b2a7bb1ec0bdc5c13c297a">pcl::geometry::MeshBase::addFace</a></div><div class="ttdeci">FaceIndex addFace(const VertexIndices &amp;vertices, const FaceData &amp;face_data=FaceData(), const EdgeData &amp;edge_data=EdgeData(), const HalfEdgeData &amp;half_edge_data=HalfEdgeData())</div><div class="ttdoc">Add a face to the mesh. Data is only added if it is associated with the elements. The last vertex is ...</div><div class="ttdef"><b>Definition:</b> mesh_base.h:196</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a949065f206a49428ebc1169f39edab83"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a949065f206a49428ebc1169f39edab83">pcl::geometry::MeshBase::getVertex</a></div><div class="ttdeci">Vertex &amp; getVertex(const VertexIndex &amp;idx_vertex)</div><div class="ttdoc">Get the vertex for the given index.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2017</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a953b3cece4af98f743a73450c557fdf3"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a953b3cece4af98f743a73450c557fdf3">pcl::geometry::MeshBase::connectPrevNext</a></div><div class="ttdeci">void connectPrevNext(const HalfEdgeIndex &amp;idx_he_ab, const HalfEdgeIndex &amp;idx_he_bc)</div><div class="ttdoc">Connect the next and prev indices of the two half-edges with each other.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1399</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a9602bb1b698be2c9686df3e2f66a9a72"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a9602bb1b698be2c9686df3e2f66a9a72">pcl::geometry::MeshBase::isBoundary</a></div><div class="ttdeci">bool isBoundary(const FaceIndex &amp;idx_face) const</div><div class="ttdoc">Check if the given face lies on the boundary. This method uses isBoundary true which checks if any ve...</div><div class="ttdef"><b>Definition:</b> mesh_base.h:731</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a97f75dffac433d99357930f394968c81"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a97f75dffac433d99357930f394968c81">pcl::geometry::MeshBase::delete_faces_vertex_</a></div><div class="ttdeci">FaceIndices delete_faces_vertex_</div><div class="ttdoc">Storage for deleteVertex.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2140</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a9850283c5476299d481f77191b375ebc"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a9850283c5476299d481f77191b375ebc">pcl::geometry::MeshBase::isDeleted</a></div><div class="ttdeci">bool isDeleted(const HalfEdgeIndex &amp;idx_he) const</div><div class="ttdoc">Check if the given half-edge is marked as deleted.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:654</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a9a6cde6548efcae7705e5af1d1510674"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a9a6cde6548efcae7705e5af1d1510674">pcl::geometry::MeshBase::resizeData</a></div><div class="ttdeci">void resizeData(DataCloudT &amp;, const size_t n, const typename DataCloudT::value_type &amp;data, boost::true_type) const</div><div class="ttdoc">Resize the mesh data.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1987</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a9be3165b6f4a99da9701ebd33169cba5"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a9be3165b6f4a99da9701ebd33169cba5">pcl::geometry::MeshBase::free_he_</a></div><div class="ttdeci">HalfEdgeIndices free_he_</div><div class="ttdoc">Storage for addFaceImplBase.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2128</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a9cbfbb8798253ce09f52fec701ee3aa7"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a9cbfbb8798253ce09f52fec701ee3aa7">pcl::geometry::MeshBase::isIsolated</a></div><div class="ttdeci">bool isIsolated(const VertexIndex &amp;idx_vertex) const</div><div class="ttdoc">Check if the given vertex is isolated (not connected to other elements).</div><div class="ttdef"><b>Definition:</b> mesh_base.h:683</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a9cc0af19e1d44db09308aa7735cc059f"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a9cc0af19e1d44db09308aa7735cc059f">pcl::geometry::MeshBase::connectOldOld</a></div><div class="ttdeci">void connectOldOld(const HalfEdgeIndex &amp;, const HalfEdgeIndex &amp;idx_he_bc, const VertexIndex &amp;idx_v_b, boost::false_type)</div><div class="ttdoc">Both half-edges are old (non-manifold version).</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1489</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a9d9496611b3a0df8f2c769dc7899ed05"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a9d9496611b3a0df8f2c769dc7899ed05">pcl::geometry::MeshBase::makeAdjacent</a></div><div class="ttdeci">void makeAdjacent(const HalfEdgeIndex &amp;idx_he_ab, const HalfEdgeIndex &amp;idx_he_bc, HalfEdgeIndex &amp;idx_free_half_edge)</div><div class="ttdoc">Make the half-edges bc the next half-edge of ab.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1357</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_a9fd8168c9e0cfb2261289c053849e8d5"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#a9fd8168c9e0cfb2261289c053849e8d5">pcl::geometry::MeshBase::getFace</a></div><div class="ttdeci">Face getFace(const FaceIndex &amp;idx_face) const</div><div class="ttdoc">Get the face for the given index.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2081</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_aa0ca20bfce1cea8fdc94fddace06c38a"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#aa0ca20bfce1cea8fdc94fddace06c38a">pcl::geometry::MeshBase::getFaceAroundFaceCirculator</a></div><div class="ttdeci">FaceAroundFaceCirculator getFaceAroundFaceCirculator(const FaceIndex &amp;idx_face) const</div><div class="ttdef"><b>Definition:</b> mesh_base.h:552</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_aa114f7eeceeecdedfefc2d83d53c4f8b"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#aa114f7eeceeecdedfefc2d83d53c4f8b">pcl::geometry::MeshBase::isDeleted</a></div><div class="ttdeci">bool isDeleted(const VertexIndex &amp;idx_vertex) const</div><div class="ttdoc">Check if the given vertex is marked as deleted.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:646</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_aa272421af280455cc40159a9726053a7"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#aa272421af280455cc40159a9726053a7">pcl::geometry::MeshBase::getOutgoingHalfEdgeIndex</a></div><div class="ttdeci">HalfEdgeIndex getOutgoingHalfEdgeIndex(const VertexIndex &amp;idx_vertex) const</div><div class="ttdoc">Get the outgoing half-edge index to a given vertex.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:339</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_aa4a2a5251d47b228119292f93a263715"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#aa4a2a5251d47b228119292f93a263715">pcl::geometry::MeshBase::isBoundary</a></div><div class="ttdeci">bool isBoundary(const FaceIndex &amp;idx_face) const</div><div class="ttdoc">Check if the given face lies on the boundary. There are two versions of this method,...</div><div class="ttdef"><b>Definition:</b> mesh_base.h:723</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_aa5565dd87531f80e92d3bca5c70c92de"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#aa5565dd87531f80e92d3bca5c70c92de">pcl::geometry::MeshBase::setFace</a></div><div class="ttdeci">void setFace(const FaceIndex &amp;idx_face, const Face &amp;face)</div><div class="ttdoc">Set the face at the given index.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2089</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_aab7ec15339e7dfb43b79c0d5bb832878"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#aab7ec15339e7dfb43b79c0d5bb832878">pcl::geometry::MeshBase::isEqualTopology</a></div><div class="ttdeci">bool isEqualTopology(const Self &amp;other) const</div><div class="ttdoc">Check if the other mesh has the same topology as this mesh.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:572</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_aac6156a983fe17684d23c56a17b4c7ff"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#aac6156a983fe17684d23c56a17b4c7ff">pcl::geometry::MeshBase::addVertex</a></div><div class="ttdeci">VertexIndex addVertex(const VertexData &amp;vertex_data=VertexData())</div><div class="ttdoc">Add a vertex to the mesh.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:180</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_aad0e01429b196849f6b081e1808dd777"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#aad0e01429b196849f6b081e1808dd777">pcl::geometry::MeshBase::getFaceAroundVertexCirculator</a></div><div class="ttdeci">FaceAroundVertexCirculator getFaceAroundVertexCirculator(const HalfEdgeIndex &amp;idx_outgoing_half_edge) const</div><div class="ttdef"><b>Definition:</b> mesh_base.h:496</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_aada17589194ee19a530459e023968f52"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#aada17589194ee19a530459e023968f52">pcl::geometry::MeshBase::incrementIf</a></div><div class="ttdeci">void incrementIf(IteratorT &amp;, boost::false_type) const</div><div class="ttdoc">Does nothing.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1817</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_ab1237135e3318c46b9e71c7a31c22859"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#ab1237135e3318c46b9e71c7a31c22859">pcl::geometry::MeshBase::getVertexDataCloud</a></div><div class="ttdeci">VertexDataCloud getVertexDataCloud() const</div><div class="ttdoc">Get the stored vertex data.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:916</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_ab2c06f58e2b38f903b2218ad7547bd0f"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#ab2c06f58e2b38f903b2218ad7547bd0f">pcl::geometry::MeshBase::setPrevHalfEdgeIndex</a></div><div class="ttdeci">void setPrevHalfEdgeIndex(const HalfEdgeIndex &amp;idx_half_edge, const HalfEdgeIndex &amp;idx_prev_half_edge)</div><div class="ttdoc">Set the previous half-edge index to a given half-edge.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1864</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_aba5dff7fe8026ec59b7f06e47aa16716"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#aba5dff7fe8026ec59b7f06e47aa16716">pcl::geometry::MeshBase::reserveEdges</a></div><div class="ttdeci">void reserveEdges(const size_t n)</div><div class="ttdoc">Reserve storage space for n edges (2*n storage space is reserved for the half-edges).</div><div class="ttdef"><b>Definition:</b> mesh_base.h:837</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_abcb2b4319b20191c7626bca0c4bab147"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#abcb2b4319b20191c7626bca0c4bab147">pcl::geometry::MeshBase::getOppositeFaceIndex</a></div><div class="ttdeci">FaceIndex getOppositeFaceIndex(const HalfEdgeIndex &amp;idx_half_edge) const</div><div class="ttdoc">Get the face index to a given half-edge.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:408</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_abd58da1605ef6b771f7ce6dccf6e3347"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#abd58da1605ef6b771f7ce6dccf6e3347">pcl::geometry::MeshBase::resizeVertices</a></div><div class="ttdeci">void resizeVertices(const size_t n, const VertexData &amp;data=VertexData())</div><div class="ttdoc">Resize the the vertices to n elements.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:858</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_ac1a03911040a6d3d1a216e53d9ebcb29"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#ac1a03911040a6d3d1a216e53d9ebcb29">pcl::geometry::MeshBase::isManifold</a></div><div class="ttdeci">bool isManifold(const VertexIndex &amp;idx_vertex, boost::false_type) const</div><div class="ttdoc">Check if the given vertex is manifold.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1936</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_ac30198b473de1a03abe20fb05464afb8"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#ac30198b473de1a03abe20fb05464afb8">pcl::geometry::MeshBase::assignIf</a></div><div class="ttdeci">void assignIf(const ConstIteratorT source, IteratorT target, boost::true_type) const</div><div class="ttdoc">Assign the source iterator to the target iterator.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1823</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_ac604f2eb2c859766916bcf23cce0a06d"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#ac604f2eb2c859766916bcf23cce0a06d">pcl::geometry::MeshBase::resizeData</a></div><div class="ttdeci">void resizeData(DataCloudT &amp;, const size_t, const typename DataCloudT::value_type &amp;, boost::false_type) const</div><div class="ttdoc">Does nothing.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1994</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_ac697d98117bd574577def3475ad6f1d5"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#ac697d98117bd574577def3475ad6f1d5">pcl::geometry::MeshBase::getHalfEdgeDataCloud</a></div><div class="ttdeci">HalfEdgeDataCloud &amp; getHalfEdgeDataCloud()</div><div class="ttdoc">Get access to the stored half-edge data.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:947</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_ac92c74ee55571dc25e99425f699f4aac"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#ac92c74ee55571dc25e99425f699f4aac">pcl::geometry::MeshBase::markDeleted</a></div><div class="ttdeci">void markDeleted(const EdgeIndex &amp;idx_edge)</div><div class="ttdoc">Mark the given edge (both half-edges) as deleted.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1726</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_ac9ed388ef2ab0769901c953146946294"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#ac9ed388ef2ab0769901c953146946294">pcl::geometry::MeshBase::half_edge_data_cloud_</a></div><div class="ttdeci">HalfEdgeDataCloud half_edge_data_cloud_</div><div class="ttdoc">Data stored for the half-edges.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2105</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_acaa2e6107c5a5673f08b860d05ff0024"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#acaa2e6107c5a5673f08b860d05ff0024">pcl::geometry::MeshBase::connectNewOld</a></div><div class="ttdeci">void connectNewOld(const HalfEdgeIndex &amp;idx_he_ab, const HalfEdgeIndex &amp;idx_he_bc, const VertexIndex &amp;idx_v_b)</div><div class="ttdoc">The first half-edge is new.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1450</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_acbd873aa1fd360de8a67336854ceb0c0"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#acbd873aa1fd360de8a67336854ceb0c0">pcl::geometry::MeshBase::getFaceAroundVertexCirculator</a></div><div class="ttdeci">FaceAroundVertexCirculator getFaceAroundVertexCirculator(const VertexIndex &amp;idx_vertex) const</div><div class="ttdef"><b>Definition:</b> mesh_base.h:488</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_ace5548daf774ab8cc7b2f294d7d8050c"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#ace5548daf774ab8cc7b2f294d7d8050c">pcl::geometry::MeshBase::isValid</a></div><div class="ttdeci">bool isValid(const VertexIndex &amp;idx_vertex) const</div><div class="ttdoc">Check if the given vertex index is a valid index into the mesh.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:614</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_ace722a9209cf91e0f4a1be62ed9ace8d"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#ace722a9209cf91e0f4a1be62ed9ace8d">pcl::geometry::MeshBase::getTerminatingVertexIndex</a></div><div class="ttdeci">VertexIndex getTerminatingVertexIndex(const HalfEdgeIndex &amp;idx_half_edge) const</div><div class="ttdoc">Get the terminating vertex index to a given half-edge.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:359</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_acf44dfefcbc86259db6dd20b267bc8de"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#acf44dfefcbc86259db6dd20b267bc8de">pcl::geometry::MeshBase::getEdgeDataCloud</a></div><div class="ttdeci">EdgeDataCloud getEdgeDataCloud() const</div><div class="ttdoc">Get the stored edge data.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:992</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_ad01617b7fc9c08e79b7357659a8d6731"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#ad01617b7fc9c08e79b7357659a8d6731">pcl::geometry::MeshBase::getVertexDataCloud</a></div><div class="ttdeci">VertexDataCloud &amp; getVertexDataCloud()</div><div class="ttdoc">Get access to the stored vertex data.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:909</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_ad5c51551b9badbbe67526dbcf55a9efc"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#ad5c51551b9badbbe67526dbcf55a9efc">pcl::geometry::MeshBase::cleanUp</a></div><div class="ttdeci">void cleanUp()</div><div class="ttdoc">Removes all mesh elements and data that are marked as deleted.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:275</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_ad8c950b6fb87139e3c394ec567782d12"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#ad8c950b6fb87139e3c394ec567782d12">pcl::geometry::MeshBase::getFaceIndex</a></div><div class="ttdeci">FaceIndex getFaceIndex(const FaceData &amp;face_data) const</div><div class="ttdoc">Get the index associated to the given face data.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1106</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_adb4ece77ab1605520fec23946c585af8"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#adb4ece77ab1605520fec23946c585af8">pcl::geometry::MeshBase::setFaceIndex</a></div><div class="ttdeci">void setFaceIndex(const HalfEdgeIndex &amp;idx_half_edge, const FaceIndex &amp;idx_face)</div><div class="ttdoc">Set the face index to a given half-edge.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1873</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_adfe2a701da9f75051cbff2f35f2ce4a1"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#adfe2a701da9f75051cbff2f35f2ce4a1">pcl::geometry::MeshBase::addEdge</a></div><div class="ttdeci">HalfEdgeIndex addEdge(const VertexIndex &amp;idx_v_a, const VertexIndex &amp;idx_v_b, const HalfEdgeData &amp;he_data, const EdgeData &amp;edge_data)</div><div class="ttdoc">Add an edge between the two given vertices and connect them with the vertices.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1219</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_ae25ea8ed4d3bdb60f31c54c77952e1a5"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#ae25ea8ed4d3bdb60f31c54c77952e1a5">pcl::geometry::MeshBase::addData</a></div><div class="ttdeci">void addData(pcl::PointCloud&lt; DataT &gt; &amp;, const DataT &amp;, boost::false_type)</div><div class="ttdoc">Does nothing.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1528</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_ae45961df8a57ff48f1d2d3d61b2e22e5"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#ae45961df8a57ff48f1d2d3d61b2e22e5">pcl::geometry::MeshBase::setInnerHalfEdgeIndex</a></div><div class="ttdeci">void setInnerHalfEdgeIndex(const FaceIndex &amp;idx_face, const HalfEdgeIndex &amp;idx_inner_half_edge)</div><div class="ttdoc">Set the inner half-edge index to a given face.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1881</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_ae472d8311af5200ab6d7d3347aab9fb1"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#ae472d8311af5200ab6d7d3347aab9fb1">pcl::geometry::MeshBase::vertex_data_cloud_</a></div><div class="ttdeci">VertexDataCloud vertex_data_cloud_</div><div class="ttdoc">Data stored for the vertices.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2102</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_ae6547b360f64c3fce6ca9af1cfbf77ff"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#ae6547b360f64c3fce6ca9af1cfbf77ff">pcl::geometry::MeshBase::getFaceIndex</a></div><div class="ttdeci">FaceIndex getFaceIndex(const HalfEdgeIndex &amp;idx_half_edge) const</div><div class="ttdoc">Get the face index to a given half-edge.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:400</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_ae6cc2e588af6754985ebb958a1835c91"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#ae6cc2e588af6754985ebb958a1835c91">pcl::geometry::MeshBase::edge_data_cloud_</a></div><div class="ttdeci">EdgeDataCloud edge_data_cloud_</div><div class="ttdoc">Data stored for the edges.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2108</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_ae790281e343db61f27f0a890f493201a"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#ae790281e343db61f27f0a890f493201a">pcl::geometry::MeshBase::clearData</a></div><div class="ttdeci">void clearData(DataCloudT &amp;, boost::false_type) const</div><div class="ttdoc">Does nothing.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2007</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_ae9dd8e27103ee10d9628d56d05e06d04"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#ae9dd8e27103ee10d9628d56d05e06d04">pcl::geometry::MeshBase::isDeleted</a></div><div class="ttdeci">bool isDeleted(const EdgeIndex &amp;idx_edge) const</div><div class="ttdoc">Check if the given edge (any of the two half-edges) is marked as deleted.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:662</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_aeb9d2df2715d703ac11e279121433067"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#aeb9d2df2715d703ac11e279121433067">pcl::geometry::MeshBase::isBoundary</a></div><div class="ttdeci">bool isBoundary(const EdgeIndex &amp;idx_edge) const</div><div class="ttdoc">Check if the given edge lies on the boundary (any of the two half-edges lies on the boundary.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:712</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_aed1c1b4f45d8cd9d4f357df69cd16eff"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#aed1c1b4f45d8cd9d4f357df69cd16eff">pcl::geometry::MeshBase::isManifold</a></div><div class="ttdeci">bool isManifold() const</div><div class="ttdoc">Check if the mesh is manifold.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:752</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_aed7cccc92709ab4a78b6a67d1167b247"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#aed7cccc92709ab4a78b6a67d1167b247">pcl::geometry::MeshBase::reconnectNBNB</a></div><div class="ttdeci">void reconnectNBNB(const HalfEdgeIndex &amp;idx_he_bc, const HalfEdgeIndex &amp;idx_he_cb, const VertexIndex &amp;idx_v_b, boost::true_type)</div><div class="ttdoc">Both edges are not on the boundary. Manifold version.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1657</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_aeefcfd903922b1c61251f0c237ce6cad"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#aeefcfd903922b1c61251f0c237ce6cad">pcl::geometry::MeshBase::isManifold</a></div><div class="ttdeci">bool isManifold(const VertexIndex &amp;idx_vertex) const</div><div class="ttdoc">Check if the given vertex is manifold. Isolated vertices are manifold.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:743</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_aefe2d565191d2e35a6a4ad8b2f0773b5"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#aefe2d565191d2e35a6a4ad8b2f0773b5">pcl::geometry::MeshBase::getOuterHalfEdgeAroundFaceCirculator</a></div><div class="ttdeci">OuterHalfEdgeAroundFaceCirculator getOuterHalfEdgeAroundFaceCirculator(const FaceIndex &amp;idx_face) const</div><div class="ttdef"><b>Definition:</b> mesh_base.h:536</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_af038161584c247bc21d6baaeb52ffcdf"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#af038161584c247bc21d6baaeb52ffcdf">pcl::geometry::MeshBase::inner_he_</a></div><div class="ttdeci">HalfEdgeIndices inner_he_</div><div class="ttdoc">Storage for addFaceImplBase and deleteFace.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2125</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_af19892220ae9323428a6544bda84658b"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#af19892220ae9323428a6544bda84658b">pcl::geometry::MeshBase::vertices_</a></div><div class="ttdeci">Vertices vertices_</div><div class="ttdoc">Connectivity information for the vertices.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2114</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_af2ca59e87e57aeae49727ac40f89686c"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#af2ca59e87e57aeae49727ac40f89686c">pcl::geometry::MeshBase::checkTopology1</a></div><div class="ttdeci">bool checkTopology1(const VertexIndex &amp;idx_v_a, const VertexIndex &amp;idx_v_b, HalfEdgeIndex &amp;idx_he_ab, std::vector&lt; bool &gt;::reference is_new_ab, boost::true_type) const</div><div class="ttdoc">Check if the edge between the two vertices can be added.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1246</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_af37b14f3d563a9bda93403082f26917f"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#af37b14f3d563a9bda93403082f26917f">pcl::geometry::MeshBase::make_adjacent_</a></div><div class="ttdeci">std::vector&lt; bool &gt; make_adjacent_</div><div class="ttdoc">Storage for addFaceImplBase.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2134</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_af3c8260c25498a753b8d6b7204667764"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#af3c8260c25498a753b8d6b7204667764">pcl::geometry::MeshBase::clear</a></div><div class="ttdeci">void clear()</div><div class="ttdoc">Clear all mesh elements and data.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:889</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_af5df66a29bc91a2129a9da83fdd9da7e"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#af5df66a29bc91a2129a9da83fdd9da7e">pcl::geometry::MeshBase::getFaceDataCloud</a></div><div class="ttdeci">FaceDataCloud &amp; getFaceDataCloud()</div><div class="ttdoc">Get access to the stored face data.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1023</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_af7bd1b1b2ca096ce00e42044b68bd0f2"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#af7bd1b1b2ca096ce00e42044b68bd0f2">pcl::geometry::MeshBase::remove</a></div><div class="ttdeci">IndexContainerT remove(ElementContainerT &amp;elements, DataContainerT &amp;data_cloud)</div><div class="ttdoc">Removes mesh elements and data that are marked as deleted from the container.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1756</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_af8fb217c674a8b6cc538b80dc84708f6"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#af8fb217c674a8b6cc538b80dc84708f6">pcl::geometry::MeshBase::getFaceAroundFaceCirculator</a></div><div class="ttdeci">FaceAroundFaceCirculator getFaceAroundFaceCirculator(const HalfEdgeIndex &amp;idx_inner_half_edge) const</div><div class="ttdef"><b>Definition:</b> mesh_base.h:560</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_af963308f6ccc1e52f02ffa7aec2c1242"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#af963308f6ccc1e52f02ffa7aec2c1242">pcl::geometry::MeshBase::getIncomingHalfEdgeIndex</a></div><div class="ttdeci">HalfEdgeIndex getIncomingHalfEdgeIndex(const VertexIndex &amp;idx_vertex) const</div><div class="ttdoc">Get the incoming half-edge index to a given vertex.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:347</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_afb3c96f3094b1a279504d0fb9c5eba7e"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#afb3c96f3094b1a279504d0fb9c5eba7e">pcl::geometry::MeshBase::isManifold</a></div><div class="ttdeci">bool isManifold(boost::false_type) const</div><div class="ttdoc">Check if all vertices in the mesh are manifold.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:1959</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_afb6751c957f49de4295d345d724ce88c"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#afb6751c957f49de4295d345d724ce88c">pcl::geometry::MeshBase::getHalfEdge</a></div><div class="ttdeci">HalfEdge &amp; getHalfEdge(const HalfEdgeIndex &amp;idx_he)</div><div class="ttdoc">Get the half-edge for the given index.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2045</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_afcb173f4e9c97479f64a351d9fab57d8"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#afcb173f4e9c97479f64a351d9fab57d8">pcl::geometry::MeshBase::getFace</a></div><div class="ttdeci">Face &amp; getFace(const FaceIndex &amp;idx_face)</div><div class="ttdoc">Get the face for the given index.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2073</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_base_html_afcb42a465dc29719b7ccc1363230bedc"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_base.html#afcb42a465dc29719b7ccc1363230bedc">pcl::geometry::MeshBase::getHalfEdge</a></div><div class="ttdeci">HalfEdge getHalfEdge(const HalfEdgeIndex &amp;idx_he) const</div><div class="ttdoc">Get the half-edge for the given index.</div><div class="ttdef"><b>Definition:</b> mesh_base.h:2053</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_mesh_i_o_html"><div class="ttname"><a href="classpcl_1_1geometry_1_1_mesh_i_o.html">pcl::geometry::MeshIO</a></div><div class="ttdoc">Read / write the half-edge mesh from / to a file.</div><div class="ttdef"><b>Definition:</b> mesh_io.h:64</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_outer_half_edge_around_face_circulator_html"><div class="ttname"><a href="classpcl_1_1geometry_1_1_outer_half_edge_around_face_circulator.html">pcl::geometry::OuterHalfEdgeAroundFaceCirculator</a></div><div class="ttdoc">Circulates clockwise around a face and returns an index to the outer half-edge (the target)....</div><div class="ttdef"><b>Definition:</b> mesh_circulators.h:718</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_outer_half_edge_around_face_circulator_html_a5a973737b232302d8601488f89820f37"><div class="ttname"><a href="classpcl_1_1geometry_1_1_outer_half_edge_around_face_circulator.html#a5a973737b232302d8601488f89820f37">pcl::geometry::OuterHalfEdgeAroundFaceCirculator::getTargetIndex</a></div><div class="ttdeci">HalfEdgeIndex getTargetIndex() const</div><div class="ttdoc">Get the index to the outer half-edge.</div><div class="ttdef"><b>Definition:</b> mesh_circulators.h:786</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_outgoing_half_edge_around_vertex_circulator_html"><div class="ttname"><a href="classpcl_1_1geometry_1_1_outgoing_half_edge_around_vertex_circulator.html">pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator</a></div><div class="ttdoc">Circulates counter-clockwise around a vertex and returns an index to the outgoing half-edge (the targ...</div><div class="ttdef"><b>Definition:</b> mesh_circulators.h:176</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_outgoing_half_edge_around_vertex_circulator_html_a12a33e71c4e2eac5fa148aa8ba791179"><div class="ttname"><a href="classpcl_1_1geometry_1_1_outgoing_half_edge_around_vertex_circulator.html#a12a33e71c4e2eac5fa148aa8ba791179">pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator::getTargetIndex</a></div><div class="ttdeci">HalfEdgeIndex getTargetIndex() const</div><div class="ttdoc">Get the index to the outgoing half-edge.</div><div class="ttdef"><b>Definition:</b> mesh_circulators.h:244</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_vertex_around_face_circulator_html"><div class="ttname"><a href="classpcl_1_1geometry_1_1_vertex_around_face_circulator.html">pcl::geometry::VertexAroundFaceCirculator</a></div><div class="ttdoc">Circulates clockwise around a face and returns an index to the terminating vertex of the inner half-e...</div><div class="ttdef"><b>Definition:</b> mesh_circulators.h:501</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_vertex_around_face_circulator_html_a44b725644d72c21f529a895eaa5aa09d"><div class="ttname"><a href="classpcl_1_1geometry_1_1_vertex_around_face_circulator.html#a44b725644d72c21f529a895eaa5aa09d">pcl::geometry::VertexAroundFaceCirculator::getTargetIndex</a></div><div class="ttdeci">VertexIndex getTargetIndex() const</div><div class="ttdoc">Get the index to the target vertex.</div><div class="ttdef"><b>Definition:</b> mesh_circulators.h:570</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_vertex_around_vertex_circulator_html"><div class="ttname"><a href="classpcl_1_1geometry_1_1_vertex_around_vertex_circulator.html">pcl::geometry::VertexAroundVertexCirculator</a></div><div class="ttdoc">Circulates counter-clockwise around a vertex and returns an index to the terminating vertex of the ou...</div><div class="ttdef"><b>Definition:</b> mesh_circulators.h:68</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_vertex_around_vertex_circulator_html_a50345cd898bff00e40acd7c32172c1f8"><div class="ttname"><a href="classpcl_1_1geometry_1_1_vertex_around_vertex_circulator.html#a50345cd898bff00e40acd7c32172c1f8">pcl::geometry::VertexAroundVertexCirculator::getTargetIndex</a></div><div class="ttdeci">VertexIndex getTargetIndex() const</div><div class="ttdoc">Get the index to the target vertex.</div><div class="ttdef"><b>Definition:</b> mesh_circulators.h:136</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_vertex_around_vertex_circulator_html_a9489db835553dc025f6992c6d2de8582"><div class="ttname"><a href="classpcl_1_1geometry_1_1_vertex_around_vertex_circulator.html#a9489db835553dc025f6992c6d2de8582">pcl::geometry::VertexAroundVertexCirculator::getCurrentHalfEdgeIndex</a></div><div class="ttdeci">HalfEdgeIndex getCurrentHalfEdgeIndex() const</div><div class="ttdoc">Get the half-edge that is currently stored in the circulator.</div><div class="ttdef"><b>Definition:</b> mesh_circulators.h:143</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_vertex_html"><div class="ttname"><a href="classpcl_1_1geometry_1_1_vertex.html">pcl::geometry::Vertex</a></div><div class="ttdoc">A vertex is a node in the mesh.</div><div class="ttdef"><b>Definition:</b> mesh_elements.h:71</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_vertex_html_a4e9f0c06933de42308774a0e63c07f97"><div class="ttname"><a href="classpcl_1_1geometry_1_1_vertex.html#a4e9f0c06933de42308774a0e63c07f97">pcl::geometry::Vertex::idx_outgoing_half_edge_</a></div><div class="ttdeci">HalfEdgeIndex idx_outgoing_half_edge_</div><div class="ttdoc">Index to the outgoing half-edge. The vertex is considered to be deleted if it stores an invalid outgo...</div><div class="ttdef"><b>Definition:</b> mesh_elements.h:84</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_vertex_index_html"><div class="ttname"><a href="classpcl_1_1geometry_1_1_vertex_index.html">pcl::geometry::VertexIndex</a></div><div class="ttdoc">Index used to access elements in the half-edge mesh. It is basically just a wrapper around an integer...</div><div class="ttdef"><b>Definition:</b> mesh_indices.h:67</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_vertex_index_html_a0da72716c3f34b2db6ef8c1a269e28a5"><div class="ttname"><a href="classpcl_1_1geometry_1_1_vertex_index.html#a0da72716c3f34b2db6ef8c1a269e28a5">pcl::geometry::VertexIndex::get</a></div><div class="ttdeci">int get() const</div><div class="ttdoc">Get the index.</div><div class="ttdef"><b>Definition:</b> mesh_indices.h:105</div></div>
<div class="ttc" id="aclasspcl_1_1geometry_1_1_vertex_index_html_afbf727a0f5ba13169db0ec5814070e2b"><div class="ttname"><a href="classpcl_1_1geometry_1_1_vertex_index.html#afbf727a0f5ba13169db0ec5814070e2b">pcl::geometry::VertexIndex::invalidate</a></div><div class="ttdeci">void invalidate()</div><div class="ttdoc">Invalidate the index.</div><div class="ttdef"><b>Definition:</b> mesh_indices.h:98</div></div>
<div class="ttc" id="astructpcl_1_1_vertices_html"><div class="ttname"><a href="structpcl_1_1_vertices.html">pcl::Vertices</a></div><div class="ttdoc">Describes a set of vertices in a polygon mesh, by basically storing an array of indices.</div><div class="ttdef"><b>Definition:</b> Vertices.h:15</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_e3380d2178455503f266746fb14246a5.html">geometry</a></li><li class="navelem"><a class="el" href="dir_4484f07c131dd04611dae5a5761b092c.html">include</a></li><li class="navelem"><a class="el" href="dir_e532c7beefa77966b73de32fc59c10a7.html">pcl</a></li><li class="navelem"><a class="el" href="dir_dbb80b22fa8ef6d0add3031653cefeff.html">geometry</a></li><li class="navelem"><b>mesh_base.h</b></li>
    <li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
